我正在使用prototype.js来开发我的Web应用程序,并且我已经在Chrome、Safari和Firefox上运行了所有内容。现在,我正在努力实现IE8的兼容性。
当我在IE中调试时,我注意到有些JavaScript事件之前我已经在窗口上设置了观察器,例如:
当我在IE中调试时,我注意到有些JavaScript事件之前我已经在窗口上设置了观察器,例如:
Event.observe(window, eventType, function () {...});
在这里,eventType
可能是"dom:loaded"
、"keypress"
等。在Chrome/Safari/Firefox中它可以正常工作。但是,在IE中观察者从未触发。
至少在某些情况下,我可以通过将观察者放置在window
以外的其他位置上(例如,在"dom:loaded"
情况下放在document
上,在"keypress"
情况下放在document.body
上)来让它在IE上工作。然而,这都是试错。
有没有更系统的方法来确定在哪里放置这些观察者,使结果跨浏览器兼容?
window.addEventListener('keyup', handler)
也将无法工作。 - thdoan