Javascript 需要帮助使用IFrame实现JQModal的CloseOnEscape按键吗

Javascript 需要帮助使用IFrame实现JQModal的CloseOnEscape按键吗,javascript,jqmodal,Javascript,Jqmodal,我正在我的项目中使用JqModal。这是一个不错的选择。但是,我需要一个帮助来将关闭退出键连接到JqModal。我正在从JqModal中的外部URL加载永久内容 对于不使用IFrame的简单模式,很容易实现CloseOnEscape按键功能。From 其中,.jqmQWindow是您将jqModal附加到的窗口或容器。我通过更新jqModal.js文件使其工作 步骤: 在jqModal中添加选项“closeOnEsc:true”。所以这个选项看起来像这样 var p = { ov

我正在我的项目中使用JqModal。这是一个不错的选择。但是,我需要一个帮助来将关闭退出键连接到JqModal。我正在从JqModal中的外部URL加载永久内容

对于不使用IFrame的简单模式,很容易实现CloseOnEscape按键功能。

From


其中,.jqmQWindow是您将jqModal附加到的窗口或容器。

我通过更新jqModal.js文件使其工作

步骤:

  • 在jqModal中添加选项“closeOnEsc:true”。所以这个选项看起来像这样

        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
    };
    
  • 将以下代码添加到jqModal open函数中

        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();
        }
    

  • 我将user1233802的答案更新为jqModal的最新版本(截至2014年2月21日):

        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();
        }