2016-06-07 120 views
0

目前,对于我自己的项目,我使用下面的库或插件(你称之为弹出的),它是一个伟大的插件,我是真的是这样,但我想修改的一件事就是不要在按Esc键或通过单击对话框外部关闭对话框。不要关闭esc或通过点击对话框外部

我已经看过JQuery UI.js文件,并且有一个名为closeOnEscape的变量和一些用于处理对话框上的closeOnEscape的函数逻辑。

有没有什么办法可以实现像closeOnEscape那样修改这个伟大的库或插件?以及不要通过单击对话框外的关闭。

这里是链接:

Dialog

所有的

JS File

首先,抱歉没有发布任何代码或任何责任。

您的回答非常感谢。

谢谢。

+0

加上'closeOnEscape:假的,' – guradio

+0

有一个内置\t逃生:真,在线在你的js设置25集它为false – Manjoor

+0

哇,我没有看到那个JS插件上的第25行有一个'escape'变量。感谢@Manjoor指出。 :) :) – Reinhardt

回答

0

试试这个:

$(document).on('keydown', function(ev) { 
    if (ev.keyCode === 27) { 
     ev.preventDefault(); 
    } 
    }); 



$(document).on('click', function(ev) { 
     if ($(this).hasClass('you outside box class')) { 
      ev.preventDefault(); 
     } 
    }); 

希望这有助于

+0

嗨@Alex Berd,感谢您的阻止,但我已经尝试过用于单击对话框外部的解决方案,因为我没有“外部盒子类”类,所以应该如何替换它?至于'escape'键,我使用'escape:true'定义的'escape'变量为'escape:false'。 – Reinhardt

+0

我会问你一个问题:当你想关闭你的窗口?可能你有任何按钮,div,标签等,当你对他们有事件动作时,你的窗户被关闭了? – AlexBerd

0

有一个叫 脱除性:真实,

我认为你可以将其设置为假

或实际的插件寻找并改变其功能

if (key_code === 27) { 
     $[prefix]('close'); 
} 

,并更改为

// if (key_code === 27) { 
//  $[prefix]('close'); 
// } 

这应该禁用Escape键

+0

嗨@劳伦斯埃德尔,谢谢你停下来,我把它改成'escape:false' from'escape:true',以防我稍后修改回'true'。 – Reinhardt