0

次のhtmlを含むhtmlページがあります。

<div id="content">
    <div class="pagination">
        <a href=''>blah</a>
    </div>
</div>

次の js を含むページに移動しても、アラートは返されません。

$("#content").on(".pagination a", "click", function(event){
    alert("alert message")
})

この js を使用して同じページに移動すると機能します。

$("#content .pagination a".on("click", function() {
    alert("alert message")
})

なぜ?.on() APIでは、最初の機能は委任された機能をコンテンツ ID にバインドし、2 つ目はそれをコンテンツ ID 内のタグにバインドすることになっていますが、最初の機能は実行されません。

on()関数を使用してクリック イベントをデリゲートする方法の何が問題になっていますか?

4

2 に答える 2

2
$("#content").on("click",".pagination a", function(event){
    alert("asdasdasd")
})

上記の定義に切り替える

于 2013-05-25T20:24:03.153 に答える
2

.on()とは異なります.delegate()

の正しい構文.on()は -

on( events [, selector ] [, data ], handler(eventObject) )

あなたはこれを必要とします :

$("#content").on("click",".pagination a", function(event){
    alert("asdasdasd")
})
于 2013-05-25T20:24:28.233 に答える