下面的代码有效。如果有更好的方法,请让我知道。 如果我使用脚本内容,它出现在我通过ajax加载test.html的主页中的test.html中。该脚本不起作用。jquery事件不能处理ajax加载的内容
<html>
<head>
<script src='jquerylocation' type='text/javascript'></script>
</head>
<body>
<div id='ajaxload'></div>
<button class='test'>load content via ajax</button>
</body>
<script>
$(function(){
$('.test').on('click',function(){
$('#ajaxload').load('test.html');
});
});
</script>
</html>
的test.html:
<h1 class='heading'>Page via AJAX</h1>
<script>
$(function(){
$('.heading').on('click',function(){
$(this).css('color','red');
});
});
</script>
我们要通过AJAX动态加载的内容一起加载脚本工作,因为你require.But缺点我觉得是每次我们发送Ajax请求的负载脚本所有的时间与内容一起。但是我发现只有这个解决方案。如果有人知道更好的解决方案,请回复
例如,如果以这种方式更改代码,它将无法正常工作。
<html>
<head>
<script src='jquerylocation' type='text/javascript'></script>
</head>
<body>
<div id='ajaxload'></div>
<button class='test'>load content via ajax</button>
</body>
<script>
$(function(){
$('.test').on('click',function(){
$('#ajaxload').load('test.html');
});
$('.heading').on('click',function(){
$(this).css('color','red');
});
});
</script>
</html>
的test.html:
<h1 class='heading'>Page via AJAX</h1>
这是因为你在的document.ready功能,这将不是一个AJAX调用完成后调用加以包装。您可以尝试在load()调用中的成功回调函数中添加事件处理程序,或者使用主页的脚本部分 – Derek
上全局定义的延迟事件,请再次检查我的问题,然后对其进行编辑。并请请一些代码 –
回复也确保你定义脚本标签瓦特/合适的属性,即'<脚本类型=“文/ JavaScript的”>' – Derek