【问题标题】:.live not working in jQuery in Google Chrome but working in IE.live 不在 Google Chrome 中的 jQuery 中工作,但在 IE 中工作
【发布时间】:2018-03-05 04:44:10
【问题描述】:

我正在尝试在单击锚标记时打开一个对话框。

代码如下:

 <td class="tdalign" title="@item.DupeYCode">    
     @Html.ActionLink(item.DupeYCode == "" ? " " : item.DupeYCode, "", "", new { id = item.RefundTicketNo }, new { @class = "HyperlinkText" , id= "DupeYRow", Attr = item.RefundTicketNo })
 </td>

点击 id 选择器时,我试图在 jquery 中打开一个 .Dialog。

$("#DupeYRow").live("click", function (e) {       
//debugger;   
  });

它可以在 IE 上运行,但在 Chrome 上却无法运行。 我正在使用的 jqyery 的参考文件如下:

  <link href="~/Content/bootstrap.css" rel="stylesheet" />
    <script src="~/Scripts/jquery-1.10.2.min.js"></script>
    <script src="~/Scripts/bootstrap.min.js"></script>
    <link href="~/Content/StyleSheet1.css" rel="stylesheet" />
    <link href="~/Content/icon-bootstrap.css" rel="stylesheet" />
    <script src="~/Scripts/jquery-1.8.3.min.js"></script>

   @Scripts.Render("~/Scripts/jquery-1.8.3.min.js")

请告诉我如何使用 id 选择器在 chrome 中的调试器上获取它。 我也尝试过使用类选择器。但它仍然无法在 chrome 上运行。

【问题讨论】:

    标签: javascript jquery asp.net-mvc razor client-side-scripting


    【解决方案1】:

    你混淆了两个不同版本的 jquery。

     <script src="~/Scripts/jquery-1.10.2.min.js"></script>
     @Scripts.Render("~/Scripts/jquery-1.8.3.min.js")
    

    所以首先删除一个。(建议:- 最后一个)

    使用on() 方法代替live()。(更新@Siva Ganesh 答案)。

    1.如果您的 ScriptHTML 在同一页面中,请使用:

    $("#DupeYRow").on('click', function(e) {
    
       e.preventdefault();
      // what you want
        return false;
    });
    

    2.如果您使用的是外部文件,请使用:

      $(document).on('click','#DupeYRow',function(e) {
    
           e.preventdefault();
          // what you want
            return false;
      });
    

    【讨论】:

    • 在 chrome 浏览器上运行程序时,它仍然在调试器上运行
    • 是的,感谢@Ashiquzzaman,在 chrome 或任何其他浏览器上,只要确保将 $(document).live 更改为 $(document).on 即可,无论您使用哪种浏览器都可以正常工作。
    【解决方案2】:

    您混淆了您的 jquery 版本。遵循“Ashiquzzaman”的想法

    The `live()` method was deprecated in jQuery version 1.7, and removed in version 1.9. Use the `on()` method instead.
    
    $("#DupeYRow").on('click', function(e) {
        // what you want
    });
    

    【讨论】:

    • $("#DupeYRow").on("click", function (e) { //仍然没有在 IE 中的 Debugger 上启动 });
    • 不,它不工作......我上面写的我在 MVC 中写了相同的代码。但它仍然不工作。
    • On 也给了我与 .live 相同的结果..我需要添加一些其他版本的 Jquery Reference Files
    • 等哥我看看再说
    猜你喜欢
    • 2018-02-14
    • 1970-01-01
    • 2020-01-23
    • 2019-12-06
    • 2015-02-12
    • 1970-01-01
    • 1970-01-01
    • 2012-11-03
    • 1970-01-01
    相关资源
    最近更新 更多