我试图在我的应用程序中为onbeforeunload
附加一个侦听器,但它似乎没有被enyo.Signals
捕获。
根据Documentation:
在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
最佳答案
默认情况下,我们似乎没有处理beforeunload:
https://github.com/enyojs/enyo/blob/master/source/dom/dispatcher.js
但是,您可以将其与类似
enyo.dispatcher.listen(window, "beforeunload");