首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >.on不能代替生活。

.on不能代替生活。
EN

Stack Overflow用户
提问于 2013-01-09 06:27:31
回答 3查看 68关注 0票数 2

我已经知道.on应该取代.live了,但是我从来没有让它工作过。

我试过:

代码语言:javascript
运行
复制
$(this).on('click', function(){
    // Do something...
})

$(this).on({
    click: function(){ // Do something }
})

但这对我没用!

特别是,当我试图将事件绑定到最初可能不存在于页面上的元素时。

谁能帮我把这件事一劳永逸地澄清一下吗?

我正在使用最新版本的jquery。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-01-09 06:33:52

对于动态生成的元素,您需要使用如下

代码语言:javascript
运行
复制
$(document).on('click','YOUR SELECTOR', function(){

});

这是因为文档是元素的容器,可以观察DOM的更改。对于每个操作,都需要有一个显式的事件侦听器。如果将某项绑定到$(this),则删除它时它(选择器)可能不存在。

票数 2
EN

Stack Overflow用户

发布于 2013-01-09 06:31:15

做得像:

代码语言:javascript
运行
复制
$(".parent").on('click', ".child", function(){
    // Do something...
})

您使用的语法就像bind一样工作。若要将事件绑定到所有以后的元素,请使用上述语法。

票数 2
EN

Stack Overflow用户

发布于 2013-01-09 06:30:40

您需要指定哪些元素。

代码语言:javascript
运行
复制
$element.on('click', '.foo', handler)

handler绑定到$element中的所有活动.foo

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14229454

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档