2013-03-05 17 views
0

这是什么符号的含义:不同的jQuery的事件绑定方式

$("#linka").click(function() { 

    // some codes 

}).fancybox({ 

    // some options 

}); 

那是什么和这些代码之间的区别:

$("#linka").click(function() { 

    // some codes 

}); 

$("#linka").fancybox({ 

    // some options 

}); 

谢谢。

+2

你应该看看“方法链接”。 – 2013-03-05 11:16:04

回答

1

最终结果将是相同的,但第二个代码段有一个不必要的调用jQuery函数重新选择元素。大多数jQuery方法返回一个jQuery对象,它有相同或更新的一组元素,允许其他jQuery方法事后调用。

它被称为方法链,并允许您选择一次元素并使用多种方法与它们交互。

1

使用jQuery,您可以链接方法,而不必每次重新定义选择器。上述两个代码示例都完全相同。第一种方法只是省略了对jQuery函数的不必要的调用。

1

对于这两种方法你都会得到相同的结果。 链式方法概念在这里用方法一应用。在这里你不必再次声明选择器。

在方法二中,您声明了选择器两次。链式方法只允许您不要一次又一次地声明选择器。您可以使用链式方法绑定尽可能多的方法。想象您希望悬停方法适用于相同的选择器。传统上,你会申报3种方法有相同的选择三次在them.using链方法:

$("#linka").click(function() { 

// method1 

}).fancybox({ 

// method2 

}).hover(function(){//method3 
},function(){ 
});