.live不在Google Chrome中使用jQuery,但在IE中工作

时间:2018-03-05 04:44:11

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

我正在尝试打开一个点击锚标签的对话框。

代码如下:

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

2 个答案:

答案 0 :(得分:0)

你混淆了你的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
});

答案 1 :(得分:0)

你混淆了两个不同版本的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.如果您的脚本 HTML 在同一页面中,请使用:

$("#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;
  });