我有一个ASP.NET用户控件(ascx),其中有一个div
,其onclick
打开一个弹出窗口。我的任务是将超链接放入此div
中,该超链接可以放在其他地方,而不打开弹出窗口。我最初的问题是,超链接在其他地方也很好,但是仍然打开了弹出窗口。研究使我成为stopPropagation()
。但是,虽然它似乎可以在Firefox中运行,但不能在IE或Chrome中使用。更重要的是,似乎事件本身并没有解决。我在ASCX上尝试了以下方法:
<script type="text/javascript">
/*global $*/
$("#voucher1").click(function(e) {
"use strict";
e.stopPropagation();
});
$("#voucher2").click(function (e) {
"use strict";
e.stopPropagation();
});
</script>
和
<script type="text/javascript">
/*global $*/
$(function () {
"use strict";
$("#voucher1").click(function (e) {
e.stopPropagation();
});
$("#voucher2").click(function (e) {
e.stopPropagation();
});
});
</script>
voucher1
和voucher2
是控件上的简单<a id="voucher1" href="blahblah">blah</a>
标记。我(或浏览器,或两者)做错了什么? 最佳答案
需要阻止锚的默认操作,并确保页面已完全加载:
<script type="text/javascript">
$(document).ready(function(){
$("#voucher1").click(function(e) {
e.preventDefault();
e.stopPropagation();
});
$("#voucher2").click(function (e) {
e.preventDefault();
e.stopPropagation();
});
});
</script>
关于javascript - stopPropagation可在Firefox中运行,但不能在IE或Chrome中运行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17535011/