Javascript 引导模式对话框按钮单击模式打开时的事件触发
我正在处理一个应用程序,需要打开一个Javascript 引导模式对话框按钮单击模式打开时的事件触发,javascript,jquery,html,twitter-bootstrap,Javascript,Jquery,Html,Twitter Bootstrap,我正在处理一个应用程序,需要打开一个模式,让用户在单击我指定的模式按钮后填写一些详细信息并保存它们。我使用了上的jQuery绑定按钮的单击事件。问题是当模式打开时触发了click事件 modal的相关部分: <div class="modal-footer"> <a href="#" class="btn" data-dismiss="modal">Close</a> <a href="#" class="btn btn-primary" id="sav
模式
,让用户在单击我指定的模式按钮后填写一些详细信息并保存它们。我使用了上的jQuery
绑定按钮的单击事件。问题是当模式打开时触发了click事件
modal的相关部分:
<div class="modal-footer">
<a href="#" class="btn" data-dismiss="modal">Close</a>
<a href="#" class="btn btn-primary" id="save-event">Save Event</a>
当我打开对话框时,控制台显示“已触发”。我通过以下方式打开对话框:
<a href="#add-event-modal" role="button" class="btn" data-toggle="modal">{% trans "Event also occurs on" %}</a>
这是一个Django应用程序,所以卷曲括号。您知道我可能做错了什么吗?或者,一旦用户单击相关按钮,是否有其他方法来执行某些逻辑?尝试将以下内容添加到jQuery代码中:
evt.stopPropagation();
抱歉,应该澄清一下,将此添加到触发模式打开的代码中
编辑:由于您无法直接访问模式代码,请在jQuery中尝试以下操作:
$('#add-event-modal').on('click', function(evt) {
evt.stopPropagation();
});
html中可能有两个id相同的元素,当您单击另一个元素时会触发事件。您是否有任何链接,或者您的代码是否有问题。没有这一点就很难找出问题所在。忽略我刚才给出的答案,我误解了你的问题。这里是代码的提琴,但我无法重现你提到的错误。模式是由触发的。与模态相关的唯一JS是上面的click事件。有关可能的解决方案,请参阅编辑。还有一些其他的JS来创建模式,HTML本身无法做到这一点。它大概是内置在您的框架中的,所以您不会直接意识到它。这当然不是一个保证的修复,但我相信我在不久前遇到了类似的问题,并以类似的方式解决了它。这解决了它。我有两个相同id的元素,save event,一个是modal按钮。重命名其中一个解决了这个问题。
$('#add-event-modal').on('click', function(evt) {
evt.stopPropagation();
});