私がしたいのは、クラス名の存在を監視する「ライブ」関数を持ち、のいずれかのイベントがそのクラス名をDOM内のどこにでも追加すると、別の関数が起動されます。jQuery Live "anything"機能?
これを行う関数を作成するにはどうすればよいですか?
私がしたいのは、クラス名の存在を監視する「ライブ」関数を持ち、のいずれかのイベントがそのクラス名をDOM内のどこにでも追加すると、別の関数が起動されます。jQuery Live "anything"機能?
これを行う関数を作成するにはどうすればよいですか?
この種の機能はjQueryには存在せず、実装するために必要なメソッドがブラウザによって犠牲にされているため、追加されません。出典:https://forum.jquery.com/topic/a-global-event-or-simple-callback-for-new-content-entering-the-page-specifically-for-applying-widgets-and-behaviour#14737000003041291
しかし、同じ投稿では、これを行うプラグインの言及があります。
にはクラス名のリスニングのための2つのオプションがあります。
それ以外の場合、他の要素に非常に簡単にフックインする方法はありません。理論的には、彼らは閉鎖中で、コードをラッパーしていない場合、あなたは次のことを行うことができます:
var _theirfunction = theirfunction;
function theirfunction() {
// You function to override theirs
_theirfunciton(); // Run their code. Make sure to pass along the arguments
yourFunction();
}
彼らはそれを更新するとき、あなたはパラメータが一致することを確認する必要があるだろう、と関数名は同じですが。これは、彼らの機能をどのように扱い、それをどのように呼び出すかによっても問題になります。これが特定のコンテキスト内にある場合は、apply
を実行する必要があります。
そのクラスを追加するときに余分な機能を実行しないのはなぜですか? – MetalFrog
http://stackoverflow.com/a/1950052/768510では可能な解決策を提供していますが、これはあなたの問題に取り組んでいるとは思えません。 –
クラスが広告をWordPressプラグインに入れていて、変更したくないという機能です。これを今後更新する必要があります。 –