javascript - stopPropagation 在 Firefox 中工作,但在 IE 或 Chrome 中不起作用

标签 javascript jquery asp.net

我有一个 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>

voucher1voucher2很简单<a id="voucher1" href="blahblah">blah</a>控件上的标签。我(或浏览器,或两者)做错了什么?

最佳答案

需要阻止 anchor 的默认操作并确保页面已完全加载:

<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/

相关文章:

javascript - 如何在页面加载缓慢时显示加载图像

javascript - node.js readFile内存泄漏

javascript - 为什么将变量(在对象范围之外)设置为等于对象方法会返回未定义的结果?

javascript - AJAX 响应的脚本标签位置错误

jquery - 根据多列中的值显示行。 jQuery

c# - ASP.Net C# 将 PDF 保存到目录

asp.net - 如何根据 html 表格在 JQuery 中选择表单元素?

javascript - 在 html 页面上选择表单字段

javascript - Webaudio 振​​荡器 stop() 回调

c# - Windows Media 编码器对象不是在 MS Server 2003 64 位上的 ASP.NET 中创建的