ajax回调后jquery函数不起作用

标签 jquery asp.net ajax updatepanel

我使用的是asp.net 3.5

我有一个 jquery 函数,可以在“悬停”事件上正常工作。

浏览器刷新某些div后出现问题 使用ajax调用。

从那时起浏览器会忽略 悬停事件并且不调用 jquery 函数。 仅在页面刷新后才恢复正常。

* 进行我正在使用的 ajax 调用

<asp:UpdatePanel ID="UpdatePanel4"  runat="server" UpdateMode="Always">
         <ContentTemplate runat="server">
            <div id='map' runat="server"></div>                        
          </ContentTemplate>
 </asp:UpdatePanel>

-- 这是 jquery 函数 --

$(function() {
  $('a.trigger').hover(function() {

    var index = $(".trigger").index(this);

  var pop=document.getElementById("pop_up");

  var place=document.getElementsByClassName('place')[index ];

  var car_id=document.getElementsByClassName('car_id')[index];
  var enter_time=document.getElementsByClassName('time')[index ];
  pop.innerHTML="Park At: "+place.innerHTML+"</br>Car Id:"+car_id.innerHTML+"</br>Enter At:"+enter_time.innerHTML;

    $('div#pop_up').show();
  }, function() {
    $('div#pop_up').hide();
  });
});

-- 这是 ajax 回调后没有响应的 div --

<div id="pop_up" runat="server">
    <p  id='who_parks_here' runat="server"></p>
</div>

最佳答案

您必须使用 .on(),因为当 AJAX 面板中收到新的 HTML 时,ASP.NET AJAX 调用会删除已附加的事件处理程序。

$(function() {
    $(document).on('hover', 'a.trigger', function() {

        var index = $(".trigger").index(this);

        var pop = document.getElementById("pop_up");

        var place = document.getElementsByClassName('place')[index];

        var car_id = document.getElementsByClassName('car_id')[index];
        var enter_time = document.getElementsByClassName('time')[index];
        pop.innerHTML = "Park At: " + place.innerHTML + "</br>Car Id:" + car_id.innerHTML + "</br>Enter At:" + enter_time.innerHTML;

        $('div#pop_up').show();
    }, function() {
        $('div#pop_up').hide();
    });
});

关于ajax回调后jquery函数不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13584842/

相关文章:

jquery - 智能应用横幅

asp.net - ASP.NET 中 APP_Data 文件夹的安全性

asp.net - 无法更改仅在 css asp.net 中具有图像 html 的 div 的背景颜色

ajax - 是否有不需要在服务器端修改的情况下进行轮询的 ajax 替代方案?

javascript - 无法以html形式写入AJAX输出变量

javascript - jQuery .hide() 在 AJAX 请求后不执行

javascript - 在移动设备中单击图标后显示菜单的简单方法是什么?

php - 如何在表单中显示从数据库中取出的数据

jquery - jQuery "each()"函数是同步的吗?

c# - 如何将这些 LINQ 结果加载到我的 ViewModel 类中?