2012-07-19 98 views
0

我试图通过单击右上角的'X'来尝试关闭窗口时显示确认对话框。如果用户选择'OK'选项,我想继续关闭窗口,但如果用户按下'取消'按钮,我想阻止窗口关闭。有没有办法做到这一点?防止telerik窗口在onClose客户端事件中关闭

+0

更新:我在http://demos.telerik.com/aspnet-mvc/window/clientsideevents上查看了窗口客户端事件。它表示onClose事件是可取消的,但我无处看到如何取消该事件。 – user1207272 2012-07-19 19:06:37

+0

没有人知道如何做到这一点? – user1207272 2012-07-25 15:10:26

回答

0

对于剃刀:

@(Html.Telerik().Window() 
    .Name("Window") 
    .ClientEvents(events => 
     .OnClose("preventClose"))) 

<script type="text/javascript"> 
    function preventClose(e) 
    { 
     var shouldClose = confirm("Are you sure you want to close?"); 

     if (!shouldClose) 
     { 
      e.preventDefault(); 
     } 
    } 
</script> 

测试和工作。请注意,当他们点击X或者你打电话给$("#Window").data("tWindow").close();时,这个函数被调用,除非你有一些验证检查,如我证明你不能关闭窗口。我没有办法区分点击X并手动呼叫$(window).close()

+0

感谢您的答案hawkke。由于某种奇怪的原因,我在今天早上没有看到你的答案,当时我正在查看是否有人回答我的问题。所以我回答了我自己的问题并将其标记为答案。但谢谢你的回复。 – user1207272 2012-07-26 21:10:55

0

我能找出我自己解决我的问题:如果您在onClose事件会阻止窗口关闭做e.preventDefualt();

。在文档中提到onClose事件是可以取消但没有说它如何取消onclose事件。