jquery本人初学。请问$(.a .b).click();什么意思

jquery $('#btn').click与$("#btn").live("click",function()有什么区别?

上周,我的一个朋友正在研究 jQuery 的延迟事件绑定功能。
他说,如果你在文档流中使用$('btn').click()绑定一个click事件,后续动态添加的元素(如果它们的ID是btn)将不会自动绑定到这个事件。
但是,如果使用 .live('click', function() {...}),则稍后动态添加的元素也会绑定到 click 事件。

2 02 3 年,我们发现 live() 方法实际上通过事件冒泡来绑定事件,使其更适合绑定到列表或 DOM 节点。
Click() 直接绑定到元素。

朋友也提到底层API支持也不一样。
click()方法是基于Bind() API的,其中还包括mouseover()、mousemove()等,它们都是基于Bind()实现的。
Live() 不依赖于 Binding()。

我刚才想到的另一件事是,如果使用bind()绑定事件,新插入的节点可能不会自动继承这个绑定。
但live()可以解决这个问题。
因此,如果您不确定何时将新元素添加到 DOM,live() 可能是更好的选择。

算了。
你只需要弄清楚。
这两种方法各有各的优点。

jquery中on()与click()的区别是什么?

嘿,说到 jQuery 中的陷阱,我真的明白了。
记得有一次,我得到一个项目,必须点击页面上的按钮才能删除相应的列表项。
当时我直接使用click()方法,但是页面加载后,新添加的按钮不起作用。
当时的情况实在是令人沮丧。

我当时就知道click()静态绑定方法有点像用完就扔掉的一次性棍子。
它只能在元素加载时绑定,并且会忽略后面动态添加的元素。
当时我真的很困惑,想知道有没有办法让新添加的元素响应点击事件。

后来我研究了一下,发现on()方法是可以的。
它就像一个可重复使用的杯子,可以动态链接到事件。
我在页面的父元素上使用on()方法来指定子元素的选择器,这样以后动态添加的元素也可以通过该方法绑定事件。

例如我这样写:$(父元素).on('事件', '子元素选择器', 回调函数)。
这样,事件就会绑定到所有匹配的子元素,无论它们是后来添加的还是从一开始就存在。

我记得当我测试时,我特意在页面加载后添加了一个按钮,然后使用 on() 方法绑定事件。
事实证明,这个按钮还可以正常删除对应的列表项,真是方便啊。

总而言之,如果它是页面加载时存在的静态元素,则简单快速的 click() 就足够了。
但如果涉及到动态元素,仍然需要使用on()方法通过事件委托来解决。

当时我也写了一些示例代码来验证这个逻辑。
这是新的点击按钮。
动态添加的按钮是无效的,因为没有使用on()。
至于newon按钮,因为用on()来委托.deleteon的点击事件,所以后面添加的按钮也能正常工作。

现在想来,如果我早点意识到的话,我可能就不会这么头疼了。
不幸的是,学习一些东西需要不断的练习和复习。