Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将脚本应用于通过jquery.html()插入的元素_Javascript_Jquery_Html - Fatal编程技术网

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

Javascript 将脚本应用于通过jquery.html()插入的元素,javascript,jquery,html,Javascript,Jquery,Html,我对脚本编写有点陌生,所以这可能有点基本,但我在任何地方都找不到答案。 为了缩短网页加载时间,我(通过AJAX)加载了一些HTML元素,并使用jquery.HTML()函数仅在单击某个按钮时插入。 这是可行的,但现在所有引用该元素的jquery命令似乎都不适用。我猜这是因为原始命令是在新HTML之前加载的 例如,代码如下所示: $(document).ready(function(){ $('#myButton').click(function(){ $('#placeHolder').h

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

例如,代码如下所示:

$(document).ready(function(){   
$('#myButton').click(function(){
$('#placeHolder').html('<div id="touchMe">click me</div>');
});
$('#touchMe').click(function(){
alert ("WORKED");
});
}
$(文档).ready(函数(){
$(“#myButton”)。单击(函数(){
$('#占位符').html('单击我');
});
$('#touchMe')。单击(函数(){
警惕(“已工作”);
});
}
如何使#touchMe.click命令应用于新传入的HTML

非常感谢

看一看

看看

使用.live()或.delegate()函数代替单击

$(document).ready(function(){   
  $('#myButton').live('click', function(){
    $('#placeHolder').html('<div id="touchMe">click me</div>');
  });
  $('#touchMe').live('click', function(){
    alert ("WORKED");
  });
}
$(文档).ready(函数(){
$('#myButton').live('单击',函数()){
$('#占位符').html('单击我');
});
$('#touchMe').live('click',function()){
警惕(“已工作”);
});
}
注意:本例中不需要使用live on“mybutton”。

使用.live()或.delegate()函数代替单击

$(document).ready(function(){   
  $('#myButton').live('click', function(){
    $('#placeHolder').html('<div id="touchMe">click me</div>');
  });
  $('#touchMe').live('click', function(){
    alert ("WORKED");
  });
}
$(文档).ready(函数(){
$('#myButton').live('单击',函数()){
$('#占位符').html('单击我');
});
$('#touchMe').live('click',function()){
警惕(“已工作”);
});
}
注意:在本例中,直播“mybutton”不是必需的。

试试-

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

而不是

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

而不是

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


10分钟前有人问了这个问题:这里可能有你的答案。10分钟前有人问了这个问题:这里可能有你的答案。好的!谢谢,可以(将jQuery更新到正确版本后-live()仅从1.3开始存在)。这是我们在这里讨论的一个简单示例代码。真正的交易包括更多的命令。因此,对于一般知识,您认为正确的最佳实践是使用live()不是所有处理稍后到达的html的命令吗?是的,我认为与其他命令相比,
live
似乎是一致和可靠的。但我不能代表JQuery开发人员说什么:)非常感谢。感谢大家-我还不知道整个投票/反馈是如何工作的,但你们都非常有帮助和效率。谢谢,很有效(在将jQuery更新到正确版本后-live()仅从1.3开始存在)。这是我们在这里讨论的一个简单示例代码。真正的交易包括更多的命令。因此,对于一般知识,您认为正确的最佳实践是使用live()不是所有处理稍后到达的html的命令吗?是的,我认为与其他命令相比,
live
似乎是一致和可靠的。但我不能代表JQuery开发人员说什么:)非常感谢。感谢你们所有人——我还不知道整个投票/反馈是如何运作的,但你们都很有帮助和效率。干杯