关于动态内容注入的jQuery .on()事件

时间:2013-05-10 17:02:29

标签: javascript jquery

我正在将内容从一个单独的文件加载到一个元素中,这很好但是我试图将一个事件处理程序附加到这个动态内容,所以我可以在我创建的新动态div中使用jQueryUI滑块。我暂时取消了这个警报,直到我至少可以解决这个问题。我不明白为什么它不起作用。任何帮助将不胜感激。

if (modalContentCall[objname].private_use == true) {
    $(this).append($('<div>').load('Content_for_injection.htm #private_use'));
    $(this).on('load', function(event){
        alert('load occured');
    });
};

上述条件工作并按照第2行加载内容,所以这里都很好,但是当内容加载时,我无法在第4行显示警告。

提前感谢您的帮助。

A

2 个答案:

答案 0 :(得分:2)

您可以使用加载回调函数来确保加载内容..

$(this).append($('<div>').load('Content_for_injection.htm #private_use',function(){
               alert('load occured');
}));

或使其更具可读性和清洁性。

 var $this=$(this);
 var divContent= $('<div />');
 divContent.load('Content_for_injection.htm #private_use',function(){
               alert('load occured');
        $this.append(divContent);
 });

答案 1 :(得分:0)

尝试如下

 $('body').on('load',this, function(event){

}