click event listener stop default

时间:2016-10-21 19:16:52

标签: javascript addeventlistener

是否有任何方法可以改变哪些订单事件与其父默认事件相关?我正在考虑点击' Firefox和Internet Explorer之间的事件似乎不同。

我们有一个<a>标签,用于关闭模态窗口(#modal1):

&#13;
&#13;
<a href="#" id="closeElement">close</a>
&#13;
&#13;
&#13;

为了防止关闭时出现新的历史记录,我们会在点击事件中触发以下javascript。

&#13;
&#13;
closeElement.addEventListener("click", function(){  history.back(); });
&#13;
&#13;
&#13;

问题出在IE下这条线似乎阻止了默认&#39;点击&#39;事件发生。在这种情况下,location.hash按预期更改,但模态窗口仍保留在屏幕上,看起来默认行为已被中断且未正确执行。但是它在Firefox下运行良好。

似乎Firefox在.addEventListener(&#34; click&#34;)事件之前执行默认点击事件,而IE则执行相反操作并在默认值之前运行自定义点击事件。

任何建议如何控制它以使代码在Firefox和IE下都能正常工作。

编辑: 也许一种解决方法可能是在hashChange事件中移动history.back()。唯一的问题是如何从hashChange事件中识别触发它的内容?在这种情况下,是由模态窗口的按钮链接触发的hashChange。

0 个答案:

没有答案
相关问题