「....delegate の前にあるものの目的は何ですか?」
デリゲートは要素にバインドされてい.some_element_class
ます。
そのデリゲートは、内部で発生するクリックごとにトリガーされます.some_element_class
そのデリゲートはクリックされたものをテストするため、ハンドラー関数は次の場合にのみ実行されます...
- クリックされた実際の要素が
"a"
セレクターと一致する、または
- の子孫であるクリックされた実際の要素の祖先は、セレクターに
.some_element_class
一致します。"a"
<div class="some_element_class"> <!-- delegate handler is here -->
<div>won't trigger your handler</div>
<a>will trigger your handler</a>
<a><span>will trigger</span> your handler</a>
</div>
したがって、コンテナーにバインドされているハンドラーは 1 つだけであることがわかります。コンテナ内のすべてのクリックを分析し、クリックされた要素 (またはそのネストされた先祖の 1 つ) がセレクター引数と一致する場合、関数が実行されます。
囲んでいるハンドラーは 1 つしかないため、コンテナーに追加される将来の要素に対して機能します...
<div class="some_element_class"> <!-- delegate handler is here -->
<div>won't trigger your handler</div>
<a>will trigger your handler</a>
<a><span>will trigger</span> your handler</a>
<!-- this element newly added... -->
<a><span>...will also trigger</span> your handler</a>
</div>
「また、上の例では、何$(this)
を表していますか?」
this
"a"
セレクターに一致した要素を表します。