我创建一个新窗口
var win = Ti.UI.createWindow({url:'page.js'});
win.listeners = {
'type': function(e){ alert('test'); }
}
win.open();
在 page.js 中,我将指定的侦听器添加到窗口内的 Ti.UI.WebView。
for (var type in win.listeners) {
Ti.API.info(win.listeners[type])
webView.addEventListener(type, win.listeners[type]);
}
Ti.API.info(win.listeners['type']) 将函数打印为“<KrollCallback: 0xb272160>”
如果没有侦听器,则对 webView.fireEvent('type') 的调用可以正常执行。但是如果我像上面那样向 webView 添加侦听器,对 fireEvent 的调用会引发异常。
什么是 KrollCallback,如果存在侦听器,为什么 fireEvent 会崩溃?