我试图创建一个弹出窗口相当多的内容,所以我把内容到一个单独的。php文件,我使用以下javascript来获得我想要的效果:
$('#popup').show();
var u = $("#username").html();
$('#popup').html('<iframe src="content.php?u='+u+'"></iframe>');
这个工作得很好,除了当用户按下转义键时我有一个close函数:
$(document).keyup(function(e) {
if (e.keyCode == 27) {
$('#popup').hide().html('');
}
});
我的问题是,一旦弹出窗口打开,用户在iframe内单击,escape按钮不再关闭窗口,因为我正在使用iframe。
在Javascript中是否有更好的方法来动态地包含外部php文件,或者是否有一种方法可以使转义按钮功能工作,即使iframe已在其中单击?
你可以使用jQuery的.load()
:
$('#popup').load('somefile.php');
不建议用iframe
,用ajax
。如果你仍然想使用iframe
,那么你必须将popup
存储在top
中,例如在主php
文件
top.popup = $('#popup');
top.popup.show();
var u = $("#username").html();
top.popup.html('<iframe src="content.php?u='+u+'"></iframe>');
及以下php
和content.php
主代码
$(document).keyup(function(e) {
if (e.keyCode == 27) {
top.popup.hide().html('');
}
});