Javascript 在主函数中调用click函数

Javascript 在主函数中调用click函数,javascript,jquery,Javascript,Jquery,我只是想知道在一个主函数中调用click函数,而不是在$(document).ready(function(){})中调用click函数的任何缺点。这就是我的意思 功能测试仪(){ $('.className-1')。单击(函数(){ var cmtpid=$(this.attr('data-cmtpid'); 警报(cmtpid); }); $('.className-2')。单击(函数(){ var pid=$(this.attr('data-pid'); 警报(pid); }); } 测

我只是想知道在一个主函数中调用click函数,而不是在
$(document).ready(function(){})中调用click函数的任何缺点。这就是我的意思

功能测试仪(){
$('.className-1')。单击(函数(){
var cmtpid=$(this.attr('data-cmtpid');
警报(cmtpid);
});
$('.className-2')。单击(函数(){
var pid=$(this.attr('data-pid');
警报(pid);
});
}

测试器()因为我注意到您正在使用jQuery。也许考虑在选择器之后添加<代码>解除绑定(“点击”),以确保在单击时不意外地绑定单击,导致多次执行。

此外,也没有任何真正的缺点,但我强烈建议将java脚本放在html文档的末尾,以确保加载DOM

例如:

$('.className-1').unbind("click").click(function(){

});

一个缺点可能是,如果调用绑定时这些元素不存在,则处理程序将不会按预期启动。不确定除了document.ready之外您还需要什么。ready有一个特定的用途,并且您没有在函数调用中使用该用途。。。。。除此之外,我不确定您希望得到什么样的答案。另一个缺点是,如果您多次调用
tester()
,每次调用时都会得到额外的
单击
绑定。可能不是您想要的。这样做本身并没有什么错,但这取决于您调用
tester()
的上下文以及调用次数。在不知道没有任何确定答案的情况下,您可以编写
$(document).ready(tester)是,谢谢,加载DOM后将调用tester(),我只想用一个单独的函数替换所有内联html onclick,该函数处理对所有元素的所有单击,这些元素在单击时返回操作,但仍不直接将单击事件添加到文档中。就绪只有tester()调用将出现在文档中。就绪