Javascript jQuery绑定函数没有';行不通
我似乎对jQueryJavascript jQuery绑定函数没有';行不通,javascript,jquery,Javascript,Jquery,我似乎对jQuerybind()和unbind()函数有问题。他们似乎根本没有被处决。以下是我目前掌握的代码: $(function() { var init = function() { $.get('test.php', function(j) { if(j.r && j.r == 'error') { console.log("1"); $('#far').bin
bind()
和unbind()函数有问题。他们似乎根本没有被处决。以下是我目前掌握的代码:
$(function() {
var init = function() {
$.get('test.php', function(j) {
if(j.r && j.r == 'error') {
console.log("1");
$('#far').bind('click', function() {
console.log("2"); return false;
});
} else {
//getData();
}
})
}();
var getData = function() {
$('#far').unbind('click', false);
};
$('#far').click(function() { ... });
});
控制台仅显示我1
,没有错误。我不知道我做错了什么,因为没有错误,jQuery文档和StackOverflow也给了我同样的答案。我正在使用jquery1.4.4
我做错了什么?因为我看到您在创建事件之前绑定它,所以请使用live
。通过调用$.get()函数末尾的getData()
函数,您将在绑定事件后立即解除该事件的绑定。尝试在$.get()
函数中注释getData()
调用,看看这是否有帮助。您不应该使用$.live()作为其折旧值;将$.delegate()用于jQuery<1.7。if(j.r&&r='error')
应该是if(j.r&&j.r='error')
这只是这里的打字错误,对不起。预期的行为是什么<代码>控制台日志(“2”)当您单击#far
元素时,将执行code>。不,它没有帮助。即使我一绑定它就解除绑定,2
是否仍会出现在控制台中?不正确。有一个返回false代码>there.console.log(“2”);将仅在取消绑定之前不会发生的单击事件上执行。谢谢,当我单击链接(#far
)时,我在控制台中获得了2
,但链接仍然有效<代码>2分钟后。
我还必须使用live()
函数。谢谢大家!