伙计们,请您使用jQuery以及每种方法的优点和缺点,让我对使用jQuery监听点击事件的正确方法有所了解:
.click(function() { ... });
或
.on('click', function () { ... });
我想确保我的代码一致。
答案 0 :(得分:2)
来自jQuery click
docs:
此方法是
的快捷方式.on('click', handler)
因此,在这种简单形式中使用.click
和.on
基本没有区别。但是,通过使用on
,您可以获得更多选项。例如,您可以传递其他参数,例如selector
或data
。例如:.on( events [, selector ] [, data ], handler(eventObject) )
例如,通过传递selector
,您可以创建委派事件,这样即使将新项目添加到DOM,事件仍将被触发。仅仅因为这个原因,我几乎总是使用.on
。但同样,使用.click(function() {
或.on('click', function () {
功能相同。
答案 1 :(得分:1)
我想有人可能认为.on('click')
非常“好”,因为它读起来更像英语而不是.click()
,并且它没有额外的(微不足道的)另一个函数调用的开销。
答案 2 :(得分:1)
所有评论似乎都在用尽两种想法
.click(function() {
和
.on('click', function () {
是等效的(见http://api.jquery.com/click/)。
虽然编码风格本身可能是主观的,但一致性可能更容易解决。使用.on('click', function() {
版本有机会更加一致,因为您可以通过on()
方法传递各种事件。它有更多用例的事实增加了它的可用性并可能提高一致性。
答案 3 :(得分:1)
在元素本身或.on('click')上使用.click()是完全相同的,只是一个简短的方法。
如果您需要一种一致的方式来绑定点击事件,那么我认为您应该总是使用.on().....因为这也可以用来委托事件。这样你可以使用这个.on()来监听所有事件,而不必在使用.click(),。submit(),. delegate(),。live()等之间切换。
不仅如此,还可读性。 。('on','click'.....比其他委托方法更具可读性。