2011-08-04 6 views
6
<!doctype html> 
<body> 
<input onblur="alert('b');"> 
<button onmousedown="alert('m');">a</button> 
</body> 

FF/IEでは何らかの理由でぼかしが始まるようです(ただし、mousedownはChrome/Safariで最初に起動するようです)。最初にぼかしやマウスをかぶせますか?

はまだ我々はこれにコードを変更する場合:

<!doctype html> 
<body> 
<input onblur="document.title+='b';"> 
<button onmousedown="document.title+='m';">a</button> 
</body> 

は現在、いくつかの理由でマウスダウンは、すべてのブラウザのために最初に発射するようです。

1)この異常の説明は何ですか?

2)W3C仕様に基づいて、標準の動作が必要ですか?

答えて

1

ああ、それはまったく新しい話です。私はその行動を正しく理解するために何時間も費やしたことを知りたくありません。あなたが言及したように、それは異なって振舞うので、実際には「正しい」ものはありません。しかし、私はそれほど多くのW3C仕様を知っているわけではありません。それはかなりうんざりthoです。

+0

をぼかすでしょうあなたはとonblurエラーを警告して、問題のある分野を集中しようとした場合には、いくつかの(古い)ブラウザが終わることはありませんループに行くだろう例えば

、 ?私は*フラグ+ setTimeout、1 *方法を使用していますが、それは本当に汚いと感じて – Pacerier

9

だから私は、Windows XPsp3でこのfiddle

<input onblur="document.getElementById('msg').innerHTML+=new Date().getTime()+' - blur<br/>'"> 
<button onmousedown="document.getElementById('msg').innerHTML+=new Date().getTime()+' - md<br/>'">a</button> 
<div id="msg">---<br/></div> 

を作ったこのテストのために、FX5、IE8、オペラ11、Safari5、クロム13にはALL、最初にマウスダウンさ

UPDATE後にぼかし:EXCEPTアラートを使用するとどこかで警告を発すると、あなたが望むように働くものは数えられません。そして、あなたが通常使用してソリューション何空の次のフィールド

+0

強力なステートメント。それは私にとっても同じです。 IEとFFの質問に表示されているコードの異常をどう説明しますか? – Pacerier

+0

そのアラートは、マウスよりも速くぼかしを発しますか?あなたが何かを警告すると、すべてのベットはオフになります。 – mplungjan

+0

はい、警告はマウスよりも速くぼかしを発生させます。あなたのためにもそうです – Pacerier

関連する問題