jquery。 livequery() 奇怪的行为

jquery. livequery() strange behavior

尝试 运行 jquery 插件 "livequery" 来突出显示动态生成的搜索结果中的某些词不起作用! 然而,在执行代码之前添加一个 alert() 函数会使突出显示出现!那么问题是什么?

$(document).ready(function(){     
     $('#searchResults').livequery(function(el){
     // alert('test');
     $( '#searchResults' ).highlight( highlightArray );
 });
});  

你可以尝试通过 setTimeout()

添加一些延迟吗
$(document).ready(function(){     
     $('#searchResults').livequery(function(el){
         // alert('test');
         setTimeout(function(){
             $( '#searchResults' ).highlight( highlightArray );
         },400);
     });
});  

为什么你还在用livequery?现在还没有必要。这是在 jQuery 委托事件之前。有关详细信息,请参阅 this SO answer。使用 .on() 而不是 livequery()。

所以你可以

$(document).on('change','#searchResults',function(el){
    $('#searchResults').highlight(highlightArray);
});