我刚刚发现 jQuery 1.7 引入了一个新方法,on()
。通过我的简短研究,我将其视为绑定(bind)事件的一种综合方式,而不是决定 bind()
、live()
和 delegate 中的哪一个()
使用。在我看来,这是一个非常好的补充,可以带来很多好处。但随后我不确定是否需要转换事件快捷方式,例如 click()
。根据官方文档,click()
的定义是仍然.bind('click', handler)
的快捷方式。我认为 jQuery 开发人员在 v1.7+ 中重新定义 click() 和其他事件快捷方式以使用 on() 更有意义,不是吗?
最佳答案
jQuery 文档清楚地将 .click()
表示为 .on("click")
的简写,因此我想您可以替换之前的所有调用,如果你想要的。
on()
方法文档摘录:
There are shorthand methods for some events such as .click() that can be used to attach or trigger event handlers. For a complete list of shorthand methods, see the events category.
方法 .on()
实际上与 .bind()
的作用相同,只是您可以一次绑定(bind)多个事件,并且选择一组实际触发此事件的子级。
我认为使用 on()
而不是 click()
更有意义,除非您需要绑定(bind)多个事件或做一些更棘手的事情过滤 child 。
关于jQuery 1.7 : converting event shortcuts, 例如click()、on()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8324271/