特定の関数を 1 回だけ実行する1 つのjQuery 関数を使用したいのですが、要素がまだレンダリングされていないため、on jQuery 関数と組み合わせて使用します。
したがって、レンダリングされていない要素の関数をバインドするには、この方法で「on」関数を使用する必要があります。
$(document).on('click',',myElement',function(){
});
要素の最初のクリックに対してのみコードを実行するために「one」関数を実装する方法は?
特定の関数を 1 回だけ実行する1 つのjQuery 関数を使用したいのですが、要素がまだレンダリングされていないため、on jQuery 関数と組み合わせて使用します。
したがって、レンダリングされていない要素の関数をバインドするには、この方法で「on」関数を使用する必要があります。
$(document).on('click',',myElement',function(){
});
要素の最初のクリックに対してのみコードを実行するために「one」関数を実装する方法は?
この.one()メソッドは、イベント委任をサポートしています。これは、一致する要素ごとに 1 回ではなく、コールバックが 1 回実行されることを意味します。
$(document).one('click', '.myElement', function() {
// Do stuff
});
ただし、セレクターに一致する要素ごとにイベント ハンドラーを 1 回実行する場合、最も簡単な解決策は、ハンドラーの実行後に要素にデータを追加することです。次に、そのデータの存在を確認して、イベント ハンドラーを続行するかどうかを判断できます。
$(document).on('click', '.myElement', function() {
if (!$(this).data("done")) {
// Do stuff
} else {
$(this).data("done", true);
}
});