为什么.load是绑定事件?

时间:2011-05-27 16:44:30

标签: jquery load bind

我这样做:

return this.each(function(){
    $.this.load('searchInterface.html',function(){
        console.log('load');
        //a lot of code
    });
    $('#more_button').bind('click',more());

    function more(){
        console.log('more');
    }
});

我的控制台显示:

更多

负载

这意味着在.load()内部的某个地方点击了我的按钮。 我该如何避免这种行为?

谢谢!

3 个答案:

答案 0 :(得分:4)

在更多行上方声明$('#more_button')。bind('click',more());并删除括号。

您应该引用该函数,而不是调用它。

$('#more_button').bind('click',more);

答案 1 :(得分:2)

你正在调用更多功能。使用:

function more(){
    console.log('more');
}

$('#more_button').bind('click',more);

答案 2 :(得分:0)

通过包括括号,您调用的是more()函数,而不是将引用传递给id。

改为使用

$('#more_button').bind('click',more);