2011-08-08 12 views
1

DOM要素がページに動的に追加され、jQueryの$("#id").remove()を使用して削除されている場合は、コールバックを設定することができるので、要素が削除されるとカスタムアクションを実行できます。DOMツリーから要素を削除する際のコールバック?

私は猿パッチングjQueryのremove()方法を考えていたので、私は、コールバックを要素のIDをチェックし、それは私が欲しいものを一致する場合、実行することができますが、私はどのようにわかりません。

もっと良い方法がありますか?そして、どうすれば猿のパッチを当てることができますか?

(私はGreasemonkeyのスクリプトを書いている、と私は基礎となる実装を変更することはできません)

答えて

3

あなたはDOMNodeRemovedイベントに耳を傾け、その後、あなたに必要な要素によってフィルタリングすることができます。いつものように

$("body").bind("DOMNodeRemoved", function(e){ 

    if(e.target.id == "id") { 
    // do something 
    } 
}); 

、そこにIEは唯一の注意点ですので、この記事をチェックアウト:http://www.bennadel.com/blog/1623-Ask-Ben-Detecting-When-DOM-Elements-Have-Been-Removed-With-jQuery.htm

+0

'DOMNodeRemoved':。*" ** **この機能は、Webから削除されている一部のブラウザものの推奨されていません古いプロジェクトや新しいプロジェクトでは使用しないでくださいそれを使用しているページやWebアプリケーションはいつでも破損する可能性があります... [変異オブザーバ](https://開発者)を使用してください。可能であれば、代わりにmozilla.org/en-US/docs/Web/API/MutationObserverを参照してください。 "* - ソース:https://developer.mozilla.org/en-US/docs/Web/Guide/Events/Mutation_events – Pang

+0

@ Pang:例を送って答えを高めるケア? – Mrchief

関連する問題