タイトルのまんまです。
alertを実行する関数をkeydownイベントとして登録しておいて、、
(Firebug入れてれば、適当なページで下記を流してみてください)
document.onkeydown = function(event) {alert(event.keyCode);}
これでCtrl+Enterを押すと、なぜかダウンロードマネージャも一緒に開いてしまいます。
(ちなみにダウンロードマネージャのショートカットは、Ctrl+Jです。)
alert以外にも、confirmやpromptでも発生します。
どうも、処理が中断されるようなときに発生するようです。
Firebugでブレイクはっても同じ現象になりました。
下記のページに行って、incsearch.jsの269行目にFirebugでブレイクはって、Ctrl+Enter押してみると試せます。
いまのところ、回避方法で思いついたのは、setTimeoutを使って次のキューで実行させる方法です。
document.onkeydown = function(event) {setTimeout(function(){alert(event.keyCode);}, 1);}
Firefox2.0.0.11 (Windows XP) で確認しました。
Firefoxのバグなのか、それとも自分が入れている拡張が悪さしているのか…
他のマシンでも試してみようと思います。
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
追記@2008/01/18
別のWindows XPマシンでも発生しました。(入れているアドオンもほとんど一緒なので当然か…)
Firefox 2.0.0.11 (Mac OS X 10.4) では発生しませんでした。
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
追記@2008/03/28
頂いた情報をまとめると、、
OSはWindowsのみで、Firefox 2.0.0.13 と Firefox 3Beta4 の両方で発生するようです。
あと、問題を発生させるHTMLは下記のような感じで、
<hmtl> <head> </head> <body onload="document.onkeydown = function(event) { if (event.keyCode == 13) alert('alert');}"> </body> </hmtl>
これでCtrl+Enterおせば確認できます。