.on事件在加载而不是单击时触发

Sel*_*key 1 jquery dynamically-generated-co

好的我是jquery的新手并且已经取得了相当大的进步但是这个让我难过.我有一个事件处理程序我绑定到动态加载的div来处理点击悬停等但是当我尝试绑定自定义函数时,它会在加载而不是单击时触发它.

function AddUser(){
       alert('Hi');
       if ($section !== 'addUser'){
           $section = 'addUser';        
       $('.userPanel').empty();
       $('.userPanel').load('pages/addUser.html');
       }
       else{return;}
    }

    $(document).on("click", "a.addUser", AddUser());
Run Code Online (Sandbox Code Playgroud)

但是,如果我在.on绑定中定义一个事件,它可以正常工作

        $(document).on("click", "a.addUser",function(){
        alert('Hi');
    });
Run Code Online (Sandbox Code Playgroud)

我可能错过了一些基本的东西,但这让我整个早上都被冷落,所以任何帮助都会受到赞赏.

注意:我意识到绑定到文档是通用的,我应该绑定到我的一个静态父div,它只是我在测试时所做的更改.

提前致谢.

j08*_*691 8

更改:

$(document).on("click", "a.addUser", AddUser());
Run Code Online (Sandbox Code Playgroud)

$(document).on("click", "a.addUser", AddUser);
Run Code Online (Sandbox Code Playgroud)

通过向AddUser添加括号,您可以在代码中的那一点上有效地调用它.