0
要添加點擊事件處理程序到一個元素,是.bind('click')
或.click
更好?什麼改變了?任何性能方面?.bind()或.click()更適合綁定一個點擊事件處理程序嗎?
要添加點擊事件處理程序到一個元素,是.bind('click')
或.click
更好?什麼改變了?任何性能方面?.bind()或.click()更適合綁定一個點擊事件處理程序嗎?
沒有區別。在內部,click
只需撥打on
,bind
也只是撥打on
。因此,對於一個很小的速度增加,只要使用on
:
$("#someId").on("click", function() {
//Do stuff
});
這裏是jQuery的相關部分1.7.2 source for the .click()
method:
return arguments.length > 0 ? this.on(name, null, data, fn) : this.trigger(name);
而且source of the .bind()
method:
return this.on(types, null, data, fn);
如果您使用的是版本1.7以下的jQuery ...
請注意,.on()
方法是在jQuery 1.7中引入的。如果您使用的是舊版本,.click()
將在內部調用.bind()
。以下是source of .click()
from 1.6.2:
return arguments.length > 0 ? this.bind(name, data, fn) : this.trigger(name);
現在已經在1.7版本中棄用了嗎? – defau1t 2012-07-11 09:06:44
@refhat - 是的,['.live()'已棄用](http://liveisdeprecated.com)從1.7開始。改用'on'。 – 2012-07-11 09:07:44
@PeeHaa - 你是什麼意思?你按照答案中的說明來調用它。 – 2012-07-11 09:18:23