【问题标题】:why does this jquery snippet does not works?为什么这个 jquery 片段不起作用?
【发布时间】:2013-12-10 13:31:36
【问题描述】:

我想知道为什么这个 sn-p 适用于 chrome(版本 31.0.1650.57 m)而不适用于 firefox (25.0)

导演 $("a[class=user]").click(function(event) { 警报(); }); 脚本>

我点击“directeur”链接,在 chrome 上,我得到一个警告窗口,在 Firefox 中没有任何反应。

编辑,我发现了真正的问题

我正在另一个函数中更改 DOM:

window.setInterval(function() { $.get("网址", 功能(数据){ data.forEach(函数(条目){ if (0 != $( ".chat-c​​onnected" ).find($("#"+entry.user)).size()) { $("#"+entry.user).find("a").css("color", "red"); $("#"+entry.user).find("a").attr("room", entry.room); } }); }); }, 30000);

该更改正在修改 DOM,并且 click jquery 函数不再应用于 属性。

【问题讨论】:

  • 最后到底是/script>还是一个错字?
  • 您是否尝试过在 alert(); 中添加文本?​​
  • 好吧,当我在警报行添加断点时,调试器不会中断
  • 我很惭愧,它确实有效,我的错误在其他地方......虽然找不到它并且页面很长,所以我会尝试弄清楚发生了什么......

标签: javascript jquery google-chrome firefox


【解决方案1】:

我不知道是什么导致了浏览器之间的差异。也许</script> 标签上缺少<?无论如何,你真的应该使用

$("a.user").click(function(event) {
    alert();
}); 

【讨论】:

    【解决方案2】:

    试试这个:

    <span class="chat-user" id="directeur">
        <a class="user" user="directeur" room="" href="#">
            directeur
        </a>
    </span>
    <script>
    $("a.user").click(function(event) {
        alert("It works !");
    }); 
    </script>
    

    在 CSS 选择器存在时使用它要简单得多...

    【讨论】:

      【解决方案3】:

      解决方案是将 $("a.user").click(...) 更改为 $("a.user").on("click", ...)

      【讨论】:

        猜你喜欢
        • 2011-07-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-08-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多