提问者:小点点

一个按钮的单击中的JS函数被调用两次


嗨,我有下面的代码给了我奇怪的行为

$("#cont_btn").click(function () {
    $("#cont_btn").attr('disabled', 'disabled');
    selRowIds = $("#CodeGrid").jqGrid('getGridParam', 'selarrrow');
    rowsToJson(selRowIds);
    //return false;
});

按钮cont_btn是bootstrap 2模式上的一个按钮。它包含一个继续按钮和一个关闭按钮。

如果我选择close按钮或单击modal外部以将其取消,然后重新打开modal,则函数将被调用两次。

我试过使用

.one('click', function() { ... } 

并且我在
$(“#cont_btn”)的行上放置了断点。单击(...

click不会被调用两次。在调试期间,我发现脚本重新进入

 $("#cont_btn").attr('disabled', 'disabled');

在页面加载中,我看到

$("#cont_btn").click(function () {

但代码没有进入函数,它将跳到关闭按钮。我想这是正在初始化的两个按钮的监听器吧?

搜索这个建议检查脚本是否没有被调用两次,并使用return false,但没有任何效果。

感谢任何帮助。


共1个答案

匿名用户

事件处理程序位于打开模态的函数内部,因此每次打开模态时,事件处理程序都会被绑定一次。