我遇到过利用jQuery的代码,类似于以下内容。
NAMESPACE = {
propertyA : $("#selector-a"),
propertyB : $("#selector-b")
}
$(NAMESPACE.propertyA).click(function(){
// ...
});
这似乎有效,即使附加点击处理程序的语法应该是。
NAMESPACE.propertyA.click(function(){
// ...
});
尽管语法不正确,jQuery是否具有解析以下内容的内置功能?
$($("#my-selector")).click ... etc.
答案 0 :(得分:3)
是。 jQuery允许作为$
的参数:
$.ready()
就jQuery而言,所有这些都是有效的语法,但在某些情况下性能可能会受到影响。
由于您的NAMESPACE.properties
是jQuery元素,因此可以使用。
答案 1 :(得分:1)
是的,它会在必要时处理。如果它在你的控制范围内,你真的不应该使用这种语法。我对以下内容进行了测试,并得到了相同的结果:
$($("li")).click(function(e){
alert(e.target);
});
//--
$("li").click(function(e){
alert(e.target);
});