Jquery 。在加载而不是单击时触发事件
好了,伙计们,我是jquery新手,已经取得了相当大的进步,但这一点让我感到困惑。我有一个绑定到动态加载的div的事件处理程序,用于处理单击、悬停等操作,但是当我尝试绑定自定义函数时,它会在加载时而不是在单击时触发它Jquery 。在加载而不是单击时触发事件,jquery,dynamically-generated-co,Jquery,Dynamically Generated Co,好了,伙计们,我是jquery新手,已经取得了相当大的进步,但这一点让我感到困惑。我有一个绑定到动态加载的div的事件处理程序,用于处理单击、悬停等操作,但是当我尝试绑定自定义函数时,它会在加载时而不是在单击时触发它 function AddUser(){ alert('Hi'); if ($section !== 'addUser'){ $section = 'addUser'; $('.userPanel').e
function AddUser(){
alert('Hi');
if ($section !== 'addUser'){
$section = 'addUser';
$('.userPanel').empty();
$('.userPanel').load('pages/addUser.html');
}
else{return;}
}
$(document).on("click", "a.addUser", AddUser());
但是,如果我在.on绑定中定义一个事件,它就可以正常工作
$(document).on("click", "a.addUser",function(){
alert('Hi');
});
我可能错过了一些基本的东西,但这让我整个上午都很沮丧,所以任何帮助都将不胜感激
注意:我意识到绑定到文档是通用的,我应该绑定到我的一个静态父div,这只是我在测试时做的一个更改
提前感谢。更改:
$(document).on("click", "a.addUser", AddUser());
到
通过将括号添加到AddUser,您实际上是在代码中的该点调用它。更改:
$(document).on("click", "a.addUser", AddUser());
到
通过将括号添加到AddUser,您实际上是在代码中的该点调用它。只需从
AddUser()中删除括号即可。
只需从
AddUser()
改变
到
因为AddUser()
是自调用的,并在页面加载后执行
或
因为,function()
$(document).on("click", "a.addUser", AddUser());
$(document).on("click", "a.addUser", AddUser);
到
因为AddUser()
是自调用的,并在页面加载后执行
或
因为,function(){AddUser();}
不是自调用块,在事件发生时将执行其中的所有内容
$(document).on("click", "a.addUser", AddUser);
或
或
使用函数签名,否则将调用函数。。
换成
$(document).on("click", "a.addUser", AddUser);
使用函数签名,否则将调用函数。。
换成
$(document).on("click", "a.addUser", AddUser);
在哪里添加代码?当您点击页面时,您是否希望运行?代码添加到哪里?当你们点击页面时,你们希望它能正常工作吗?这就是我所想的+1减少匿名功能。。如果你继续添加这样的函数,IE的旧版本将开始惩罚你。这就是我所想的+1冗余匿名函数。。如果你继续添加这样的函数,旧版本的IE将开始惩罚你。非常感谢,我认为这将是一个基本的东西,帮助了一大群人,现在我可以前进了。非常感谢,我认为这将是一个基本的东西,帮助了一大群人,现在我可以前进了。
$(document).on("click", "a.addUser", function(){
AddUser();
});
$(document).on("click", "a.addUser", AddUser);