今天早上被印度队友Hi了一下,提了个难题给我。要用ESC键关闭SharePoint中弹出的模态对话框,自己搞了一天总是有bug。唉,我这个C#程序猿一直被当前端用,伤不起啊。后来我在MSDN上找到了解决办法,并测试可用。国内的网络暂时没有找到这方面的文章。

代码如下:

$(document).ready(function() {
        $('body').bind('keypress', function(e) {
        var code = (e.keyCode ? e.keyCode : e.which);
        if (code == 27) {
            SP.UI.ModalDialog.commonModalDialogClose(1, 'Submitted');
        }
    });
});

ESC的keyCode是27。调用的是SP.UI.ModalDialog.commonModalDialogClose()方法。这个ModalDialog本身有个Close,但似乎是C#里写的。我试过那个close是没用的。

MSDN上的原文在:http://social.technet.microsoft.com/Forums/sv-SE/sharepoint2010programming/thread/7965f57d-8fae-45a9-9f48-954d8a4d4edd