在我的文档头部,我加载了jQuery.js和blockUI jQuery插件。
然后,在PHP中,我使用常规的AJAX将其他PHP内容加载到DIV中。在原始的PHP中,jQuery和blockUI插件都可以正常工作,但是在任何ajax加载的div中,jQuery和blockUI都不起作用。没有控制台错误,也没有警告 - 什么都没有。
我是一个jQuery初学者,我找到的其他文章都不能帮我解决这个问题,所以我希望能帮助其他人。在下面的代码中,您会看到我尝试了一些live()...
这是加载到DIV中的PHP文件的顶部。
这是PHP文件中的HTML代码(加载到DIV中):
然后,在PHP中,我使用常规的AJAX将其他PHP内容加载到DIV中。在原始的PHP中,jQuery和blockUI插件都可以正常工作,但是在任何ajax加载的div中,jQuery和blockUI都不起作用。没有控制台错误,也没有警告 - 什么都没有。
我是一个jQuery初学者,我找到的其他文章都不能帮我解决这个问题,所以我希望能帮助其他人。在下面的代码中,您会看到我尝试了一些live()...
这是加载到DIV中的PHP文件的顶部。
<script type="text/javascript">
$(document).ready(function() {
$('#crazy').live('click',function() {
$.blockUI({ message: $('#question'), css: { width: '275px' } });
});
$('#yes').live('click',function() {
// update the block message
$.blockUI({ message: "<h1>Remote call in progress...</h1>" });
$.ajax({
url: 'wait.php',
cache: false,
complete: function() {
// unblock when remote call returns
$.unblockUI();
}
});
});
$('#no').live('click',function() {
$.unblockUI();
return false;
});
});
</script>
这是PHP文件中的HTML代码(加载到DIV中):
<input id="crazy" type="submit" value="Show Dialog" />
<div id="question" style="display:none; cursor: default">
<h1>Would you like to contine?.</h1>
<input type="button" id="yes" value="Yes" />
<input type="button" id="no" value="No" />
</div>
success
和/或complete
字段。 请注意,这是一条命令,告诉读者在jQuery.ajax()
函数中寻找哪些字段。 - Amberlive
事件实际上解决了通过 AJAX 添加到页面的元素的问题 - http://api.jquery.com/live/ - partkyle