编辑:这个问题很愚蠢,因为我在其他地方犯了一个错误导致它。
我决定今天在 Opera 上测试我的网站,发现它在 Chrome 和 FF 中运行良好。所以我下载了最新的 Opera for Ubuntu 并尝试登录我的网站。BLEH。
由于某种原因,它无法识别我绑定到表单的“提交”事件的任何功能,我需要验证等。我通常addEvent(element, eventtype, callback)
会执行对addEventListener
or的相关调用attachEvent
。
正如我所说,这在 Chrome 和 Firefox 中都能完美运行。我什至试过
addEvent(loginForm, 'submit', function(){alert("It works");});
但完全没有反应。因此,它甚至不是像我最初想到的那样停止默认操作,而是实际上根本没有绑定事件!关于上面的例子,我可以确认loginForm
确实包含对实际表单元素的引用。
有人知道 Opera 发生了什么吗?
编辑:下面是我的addEvent
功能
function addEvent (obj, evt, callback) {
if (evt=="mousewheel")
evt = (/Firefox/i.test(navigator.userAgent))? "DOMMouseScroll" : "mousewheel"
if (obj.addEventListener){
obj.addEventListener(evt, callback, false);
} else {
obj.attachEvent("on" + evt, callback);
}
}