twitter引导模型事件“;如图所示;在事件处理程序上使用jquery调用两次

twitter引导模型事件“;如图所示;在事件处理程序上使用jquery调用两次,jquery,twitter-bootstrap,modal-dialog,Jquery,Twitter Bootstrap,Modal Dialog,我使用以下方法加载Twitter引导模型(): 然后,我调用jQuery的.on()甚至处理程序,以便在模型完全加载后执行更多操作,但是.on()函数似乎被调用了两次 例如,如果我这样做,我会得到两个随机数: $("#multiple_choice_question").on("shown",function() { console.log(Math.floor(Math.random() * 101)); }); 我如何才能阻止这种情况?@simo向.one('show')注册事件

我使用以下方法加载Twitter引导模型():

然后,我调用jQuery的.on()甚至处理程序,以便在模型完全加载后执行更多操作,但是.on()函数似乎被调用了两次

例如,如果我这样做,我会得到两个随机数:

$("#multiple_choice_question").on("shown",function() {
    console.log(Math.floor(Math.random() * 101)); 
});

我如何才能阻止这种情况?

@simo
.one('show')
注册事件的回答对我很有效。在中,使用
.one()
将处理程序附加到元素的事件。对于每个事件类型,每个元素最多执行一次处理程序。

修复$(“多项选择题”)。解除绑定(“显示”);您能否显示在哪里调用
modal()
:在用户操作时,在准备就绪时?仅供参考,如果触发器具有
数据切换=“modal”
,则无需调用此
modal()
。例如,您可以尝试在中重现错误吗?取消绑定对我来说不起作用,将事件注册为
.one('show')
,而不是
。on('show')
修复了它。
$("#multiple_choice_question").on("shown",function() {
    console.log(Math.floor(Math.random() * 101)); 
});