【问题标题】:trouble getting .on function to work as it is supposed to.on 功能无法正常工作
【发布时间】:2013-05-25 20:22:16
【问题描述】:

我有一个带有以下 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,第二个应该将其绑定到内容 id 中的 a 标签,但第一个不会发生。

我使用on() 函数委托点击事件的方式有什么问题?

【问题讨论】:

  • 我把 asd 换成了别的东西,开心吗?

标签: jquery html jquery-on jquery-delegate


【解决方案1】:

.on().delegate() 不同

.on() 的正确语法是 -

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

你需要这个:

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

【讨论】:

    【解决方案2】:
    $("#content").on("click",".pagination a", function(event){
        alert("asdasdasd")
    })
    

    切换到上面的定义

    【讨论】: