按下Esc键关闭Ajax模态弹出窗口

3

我使用Ajax显示了一个弹出面板窗口,现在我想要在用户按下Esc键时关闭该窗口。

这个可行吗?如果有人知道或之前做过,请帮助我。

谢谢

3个回答

5

谢谢Suresh,但是在这里我必须在我的body标签中添加onkeydown="body_onkeydown()"。但是我的body标签在主页面中。那么如何在body标签中添加此事件呢? - Bhavik Goyal

3
在您的页面中添加脚本,以通过ESC键关闭模态弹出窗口。
   <script type="text/javascript">

    function pageLoad(sender, args){
        if(!args.get_isPartialLoad()){
            //  add our handler to the document's
            //  keydown event
            $addHandler(document, "keydown", onKeyDown);
        }
    }

    function onKeyDown(e){
        if(e && e.keyCode == Sys.UI.Key.esc){
            // if the key pressed is the escape key, dismiss the dialog
            $find('mdlPopupExtender').hide();
        }
    } 

    </script>

3
假设我们有两个ModalPopupExtender控件,首先设置每个模态控件的BehaviorID以便从JavaScript中访问它,我将第一个控件命名为P2,第二个控件命名为P3。通过head标签写入以下代码:
<script type="text/javascript">
    document.onkeyup =Esc;
    function Esc()
    {
    var KeyID =event.keyCode;
     if(KeyID==27)
     {
     if($find("p2"))
     {
       $find("p2").hide();
     }
     if($find("p3"))
        $find("p3").hide();
     }
    }
</script>

我们使用 $find(p2) 来确保模态弹出窗口存在于页面中。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接