編集:この質問はばかげています。他の場所で間違いを犯したためです。
今日、Opera で自分のサイトをテストして、Chrome と FF で完全に動作することを確認することにしました。そこで、Ubuntu 用の最新の Opera をダウンロードして、自分のサイトにログインしようとしました。ブレ。
何らかの理由で、検証などに必要なフォームの「送信」イベントにバインドする関数を認識していaddEvent(element, eventtype, callback)
ませaddEventListener
ん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);
}
}