当显示的事件发生时,我正在为模式中的按钮分配一个点击事件:
modal.on('shown', function(){
modal.on('click', '.modal-confirm', function(e){
...
});
});
我的问题是我的模态中有标签,当切换标签时,每次单击标签时都会触发modal.shown事件,从而每次都会向按钮发出另一个点击事件。我该如何防止这种情况发生? OFC。我可以添加一个布尔值来检查事件是否已经分配,但如果我不必这样做会很好: - )
提前致谢
答案 0 :(得分:1)
您可以使用具有两个事件shown.bs.tab
和shown.bs.modal
的新版bootstrap,或使用以下代码来阻止多个绑定
modal.off('shown').on('shown', function(){
modal.off('click').on('click', '.modal-confirm', function(e){
...
});
});
答案 1 :(得分:0)
我不知道这是不是很好的做法,但你可以在modal-confirm元素中附加一个变量,说明你已经为它分配了click()事件:
modal.on('shown', function(){
if ($(this).find('.modal-confirm').data('hasEvent') != null) {
modal.on('click', '.modal-confirm', function(e){
...
});
}
});