Javascript 在DOM中添加新元素后,该元素无法识别旧脚本
我有一个问题。在DOM中添加一个新元素后,该元素无法识别旧脚本和本文档中的相同函数,如何解决此问题?如何重新加载脚本Javascript 在DOM中添加新元素后,该元素无法识别旧脚本,javascript,jquery,dom,append,Javascript,Jquery,Dom,Append,我有一个问题。在DOM中添加一个新元素后,该元素无法识别旧脚本和本文档中的相同函数,如何解决此问题?如何重新加载脚本 <!DOCTYPE html> <html> <head> <title>test</title> </head> <body> <div id='content'>Content.....</div> <script type="text/javascript" s
<!DOCTYPE html>
<html>
<head>
<title>test</title>
</head>
<body>
<div id='content'>Content.....</div>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js" ></script>
<script src='js/script.js' type='text/javascript'></script>
</body>
</html>
// script.js //
$('#content').click(function(){
$('body').append('<div id="apended">Click me!</div>');
});
$('#apended').click(function(){
alert('click!');
});
测试
内容。。。。。
//script.js//
$(“#内容”)。单击(函数(){
$('body').append('Click me!');
});
$('#apended')。单击(函数(){
警报('click!');
});
使用时,在('click',function(e){})
函数上,它仅对现有元素有效。要处理所有选择器元素上的单击事件,即使是将来要添加的元素,也可以使用以下函数之一:
$(document).on('click', "#appended", function (e) {
// some code code
alert('click!');
});
或:
欲了解更多信息,请阅读有关的文章,而不是您可以使用的单击功能:
1.live(old version)
2.delegate
3.on
但是,如果您想使用click with immutation of delegate函数:
var myFn=function(e){
if(e.target.id=='apended'){
alert('click');
}
}
$(document).click(myFn)
演示:
var myFn=function(e){
if(e.target.id=='apended'){
alert('click');
}
}
$(document).click(myFn)