私は奇妙な問題に遭遇しました。私は(ポジションがあります。絶対)1体のdivの内側と簡単なボタンがあり、ここではコードです:絶対配置された要素のFirefoxでmousedownリスナーが機能しない
はdocument.querySelector('.mask')
.addEventListener('mousedown', e => console.log(e.type))
button {
position: relative;
width: 200px;
height: 60px;
background: none;
border: 1px solid #1c90f3;
}
.mask {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(28, 144, 243, 0.2);
}
<button type="button">
click
<div class="mask"></div>
</button>
私に必要なのは.mask
要素にmousedown
リスナーを追加することです。単純な権利ですか?
さて、Firefoxにはいくつか問題があります。
ライブデモを確認してください:https://jsfiddle.net/fzwbb3dp/
コンソールを開くと、ボタンをクリックした後にChromeでmousedown
イベントにコンソールに正しいメッセージが記録されます。
Firefoxのコンソールには何も表示されません。
この問題の原因が何であるかは完全にはわかりませんので、この問題を解決する方法を教えてください。
ありがとうございます。
Firefoxはボタンのルールがよく、どのようにしたらいいのでしょうか?[この質問](http://stackoverflow.com/questions/26402033/missing-click-event-for-span -inside-button-element-on-firefox)を使って解決する方法を説明します。 – George
@cookieManあなたが.maskをボタンに変更するなら、それはうまくいくでしょうが、その後、新しいボタンがすべてのイベントがこのイベントにバインドされるという問題が発生します。 –