我遇到了一个我想要了解的代码片段。我没找到任何地方。代码仍然可以正常工作。它关于jQuery的.bind函数:
$(new Object()).bind()
jQuery的bind函数与“new Object()”有什么关系。有人可以详细说明吗?!感谢。
答案 0 :(得分:1)
除非可能导致运行时错误,否则该语句本身不会执行任何操作。 jQuery“bind()”方法至少需要一个参数。
即使使用参数,它也不会做任何事情,因为它完全与事件处理程序绑定有关。对普通的JavaScript对象执行此操作没有意义。
“bind()”调用通常像这样使用(虽然有变化):
$('selector').bind('event-name', function(ev) { /* event handler code */ });
“selector”字符串用于查找页面中的一个或多个DOM元素。
答案 1 :(得分:0)
$(new Object()).bind("something", function(event, data){ });
这意味着您将具有参数“event”和“data”的函数委托绑定到新对象的“something”事件。只要新创建的对象触发“某事”事件,该函数就会执行。
答案 2 :(得分:0)
我已经解决了。对于有兴趣的人 - >它有两个部分:
<a id="refButton" href="#">Click Me !!</a>
**Part 1:**
$(new Object()).bind("pressMe", function(event, data){
$(document).ready(function(){
$('#refButton').bind("click",function(){
alert("Hi There !!");
});
});
});
**Part 2**
if(some condition == TRUE){
$.event.trigger("pressMe");
}
所以,每个人都知道“$(document).ready(function(){”首先被执行 - 但是 - 这样只有当Part2条件为TRUE时才会触发“pressMe” Part1中定义的事件,最终侦听#refButton Id的click事件。
但对于我来说,空的新Object() - 如何禁用“$(document).ready(function(){”功能直到触发器被激活仍然是一种谜。
但感谢所有回答的人。