将脚本应用于通过jquery .html()插入的元素

时间:2011-09-15 10:37:25

标签: javascript jquery html

我对脚本有点新意,所以这可能有点基础,但我无法在任何地方找到答案。 为了改善我的网页加载时间,我使用jquery .html()函数加载了一些HTML元素(通过AJAX)并仅在单击某个按钮时插入。 这工作,但现在所有引用该元素的jquery命令似乎都不适用。我猜是因为原始命令是在新HTML之前加载的?

例如,代码如下:

$(document).ready(function(){   
$('#myButton').click(function(){
$('#placeHolder').html('<div id="touchMe">click me</div>');
});
$('#touchMe').click(function(){
alert ("WORKED");
});
}

如何让#touchMe.click命令适用于新的传入HTML?

非常感谢

4 个答案:

答案 0 :(得分:1)

查看live()

$('#touchMe').live('click', function() {

答案 1 :(得分:1)

尝试 -

$('#touchMe').live('click',function(){
alert ("WORKED");
});

答案 2 :(得分:1)

而不是

$('#touchMe').click(function(){
alert ("WORKED");
});

使用

$('#touchMe').live('click', function(){
alert ("WORKED");
});

答案 3 :(得分:0)

使用.live()或.delegate()函数而不是单击。

$(document).ready(function(){   
  $('#myButton').live('click', function(){
    $('#placeHolder').html('<div id="touchMe">click me</div>');
  });
  $('#touchMe').live('click', function(){
    alert ("WORKED");
  });
}

注意:此示例中不需要使用“mybutton”。