我在我的项目中使用了JqModal。它是一个不错的JS模式。不过,我需要一个帮助,将一个Close On Escape键按到JqModal上。我在JqModal中从外部URL加载永久内容。需要帮助实现CloseOnEscape Key按下带IFrame的JQModal
对于没有使用IFrame的简单模态,它非常容易实现CloseOnEscape按键功能。
我在我的项目中使用了JqModal。它是一个不错的JS模式。不过,我需要一个帮助,将一个Close On Escape键按到JqModal上。我在JqModal中从外部URL加载永久内容。需要帮助实现CloseOnEscape Key按下带IFrame的JQModal
对于没有使用IFrame的简单模态,它非常容易实现CloseOnEscape按键功能。
我把它通过更新jqModal.js文件
步骤工作:
添加选项 “closeOnEsc:真” 的jqModal。因此,选项将是这个样子,下面的代码到jqModal open函数
var p = {
overlay: 50,
overlayClass: 'jqmOverlay',
closeClass: 'jqmClose',
trigger: '.jqModal',
ajax: F,
ajaxText: '',
target: F,
modal: F,
toTop: F,
onShow: F,
onHide: F,
onLoad: F,
closeOnEsc: true
};
添加。
var modal = $(h.w);
modal.unbind("keydown");
if (c.closeOnEsc) {
modal.attr("tabindex", 0);
modal.bind("keydown", function (event) {
if (event.keyCode == 27) {
event.preventDefault();
modal.jqmHide();
}
});
modal.focus();
}
从http://forum.jquery.com/topic/jquery-jqmodal-and-the-esc-key
document.onkeydown = function(e){
if (e == null) { // ie
keycode = event.keyCode;
} else { // mozilla
keycode = e.which;
}
if(keycode == 27){ // escape, close box
$('.jqmWindow').jqmHide();
}
};
其中 '.jqmQWindow' 是你连接jqModal到窗口或容器。
我更新user1233802的答案jqModal的最新版本(截至2014年2月21日):
我把它通过更新jqModal代码工作。 – user1233802 2012-03-30 09:21:59