我正在使用.load()
将文字从一个页面引入另一个页面。我正在“加载”的一个特殊div具有由锚类触发的模态。但是,该锚类在“加载”后不起作用。有没有办法解决?
我在这里发布了一个简单的例子:http://temp.kissr.com/
您可以看到点击时没有任何反应。但是,这是从http://temp.kissr.com/div_being_loaded.html
中提取绿框和随附警报的页面查看这些页面上的源代码以检查我的.load()方法。我的方法也发布在这里:
<script>
$(function() {
$('#grab_div').load('div_being_loaded.html .load');
});
</script>
<div id="grab_div"></div>
这是从单独的页面(div_being_loaded.html)加载的div,但位于同一根级别。
<div class="load">
<a class="alert">Click for Alert</a>
</div>
<script>
$("a.alert").on("click", function() {
alert( "Success" );
});
</script>
感谢您一起来看看!
答案 0 :(得分:1)
替换:
$('#grab_div').load('div_being_loaded.html .load');
与
$('#grab_div').load('div_being_loaded.html');
(或者您已将整个script
块放在<div class="load">
内。)
通过添加.load
(来自<div class="load">
)类,您只需加载HTML的那一位而不是script
块。
答案 1 :(得分:1)
您的点击事件绑定是在DOM内部存在内容之前进行的。你有2个解决方案。
1)您可以等待加载内容:
$(function() {
$('#grab_div').load('div_being_loaded.html .load', function(){
$("a.alert").on("click", function() {
alert( "Success" );
});
});
});
2)或者您可以使用事件委派:
$("#grab_div").on("click", 'a.alert', function() {
alert( "Success" );
});