1

我试图onbeforeunload在我的应用程序中附加一个监听器,但它似乎没有被enyo.Signals.

根据文档

在 Enyo 框架本身内,没有节点目标的 DOM 事件作为信号进行广播。这些事件包括窗口事件,如 onload 和 onbeforeunload,以及直接在文档上发生的事件,如 onkeypress(如果文档具有焦点)。信号也可用于连接非 Enyo 事件(例如,PhoneGap 事件)以由应用程序代码中的 Enyo 类型处理。

我写了以下测试用例:

 enyo.kind({
    name: "App",
    kind: "enyo.Control",
    fit: true,
    content: "Hello World",

    components:[
        {kind: "enyo.Signals", onbeforeunload: "test"}
    ],

    test: function(inSender, inEvent) {
         return 'You have unsaved changes!';
    }
});

当我关闭选项卡或离开页面时,这似乎没有效果。我错过了什么?这是JSFiddle

4

1 回答 1

3

默认情况下,我们似乎不是在处理 beforeunload :

https://github.com/enyojs/enyo/blob/master/source/dom/dispatcher.js

但是,你可以让它与类似的东西一起工作

enyo.dispatcher.listen(window, "beforeunload");
于 2013-08-16T18:43:32.130 回答