首选使用.on()方法而不是.click(),. bind(),.。hover(),. load(),. ready()等

时间:2016-10-21 20:14:50

标签: javascript jquery

我需要一种更好的方法来实现最佳性能,并尽可能简洁代码使用事件委托。

特别是正确的 .ready()

$(document).ready(function() 

$(document).on('ready',function() //it is correct?

其他?

.click(), .bind(), .hover(), .load(), .ready(), etc.

1 个答案:

答案 0 :(得分:2)

来自jQuery .ready() docs

  

jQuery提供了几种附加函数的方法   DOM准备好了。以下所有语法都是等效的:

$( handler )
$( document ).ready( handler )
$( "document" ).ready( handler )
$( "img" ).ready( handler )
$().ready( handler )
     

从jQuery 3.0开始,建议只使用第一种语法;另一个   语法仍然有效但不推荐使用。

所以最好和最短的方式是:

$(function() {
  // your code
});

对于.click()事件及其朋友来说,它更复杂。 .click(function(){}).on("click", function(){})的快捷方式,因此可以互换使用。

但是.on()函数还具有创建委托事件的附加功能。

.on( "click", "selector", function() {});

因此,如果您希望简洁的代码坚持.on()版本。