在我的页面上,我有一个包含" open_modal"等的不同内容的大a
元素。按钮,打开一些Bootstrap模态窗口。单击a
元素内的任何位置时,我希望发生正常行为,但是单击" open_modal"应该只打开模态窗口(通过Bootstrap模态类处理)。
HTML:
<a href='example.com'>
<div class='open_modal'>doing something else</div>
</a>
使用stopPropagation()
按钮成功删除了a
行为,但遗憾的是它还删除了附加的Bootstrap模态功能,因此它不再执行任何操作:
$( '.open_modal' ).click(function(event) {
event.stopPropagation();
});
有什么想法吗?
答案 0 :(得分:2)
您应该使用preventDefault()
代替stopPropagation()
。
stopPropagation
阻止事件冒泡事件链(即,链中注册的事件不会调用)
preventDefault
阻止浏览器对该事件进行的默认操作(即,仅阻止当前事件的默认行为)。
$( '.open_modal' ).click(function(event) {
event.preventDefault();
});