1

我正在对服务器页面进行 ajax 调用,并通过 html 方法在 div 中打印结果:

$(document).ready(function()
{
     $.ajax
     ({
    async:false, 
    type: 'GET', cache: false,
    url: '..urlhere..',
        success: function(data){printresult(data);}
      });
});

使用打印结果(数据):

$("thediv").html(data);

这一切都有效,但结果本身包含类跨度。这些跨度在悬停时应该发出简单的警报。我也在 document.ready 中实现了这一点:

$(".spanclass").hover(function () 
{
    alert('j');
}); 

这不起作用..是因为结果来自 ajax 并且 DOM 没有将其视为 spanclass 吗?

4

4 回答 4

2

你应该委托事件,你可以使用on方法。

$(document).on({
   mouseenter: function(){
    alert('entered')
   }, 
   mouseleave: function(){
    alert('left')
  }     
}, ".spanclass")
于 2012-09-06T13:16:21.163 回答
1

delegate为动态添加的元素设置这样的

$(function(){
   // on document ready setup the delegate for the hover event
   $(document).on('hover', '.spanclass', function(){
       alert('j');
   }); 
});
于 2012-09-06T13:16:13.730 回答
1

你应该使用delegate

$('thediv').delegate('hover', '.spanclass', function() { ... });

这是来自 jQuery 的描述

Attach a handler to one or more events for all elements that match the selector, now or in the future, based on a specific set of root elements.
于 2012-09-06T13:19:28.867 回答
0
$('.spanclass').live('mouseover', function() {
    alert('j');
});
于 2012-09-06T13:18:05.917 回答