私は、jQuery .on()メソッドを使用して、直接イベントハンドラと委任イベントハンドラのこの特定の違いを理解しようとしています。具体的には、この段落の最後の文:
ときに
selector
提供され、イベントハンドラが呼ばれる委任します。ハンドラーは、イベントがバインドされた要素で直接発生した場合には呼び出されず、セレクターに一致する子孫(内部要素)に対してのみ呼び出されます。jQueryは、イベントターゲットからハンドラーが接続されている要素(つまり、最も内側から最も外側の要素)までイベントをバブルし、そのパスに沿ってセレクターに一致するすべての要素のハンドラーを実行します。
「要素のハンドラを実行する」とはどういう意味ですか?コンセプトを試すためのテストページを作成しました。ただし、次の両方の構成は同じ動作になります。
$("div#target span.green").on("click", function() {
alert($(this).attr("class") + " is clicked");
});
または、
$("div#target").on("click", "span.green", function() {
alert($(this).attr("class") + " is clicked");
});
多分誰かがこの点を明確にするために別の例を参照できますか?ありがとう。