Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery绑定函数没有';行不通_Javascript_Jquery - Fatal编程技术网

Javascript jQuery绑定函数没有';行不通

Javascript 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

我似乎对jQuery
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
是否仍会出现在控制台中?不正确。有一个
返回falsethere.console.log(“2”);将仅在取消绑定之前不会发生的单击事件上执行。谢谢,当我单击链接(
#far
)时,我在控制台中获得了
2
,但链接仍然有效<代码>2分钟后。
我还必须使用
live()
函数。谢谢大家!