私は、選択されたときにいくつかのアクションを実行するHTMLオプション要素があります。だから私はそれをonmousedownイベント&に反応させて、そのイベントに対してアクションを実行させました。HTMLオプションはSafariのonmousedownのみに反応しません
問題:コードはFirefoxでのみ動作します。 Safariでは、イベントは発生しませんか?コードは実行されません。なぜこれが起こっているのか知っていますか?私はonselectやonchangeのような別のイベントに反応するべきでしょうか?
これは私がやっていることの簡単な例です(私はコードonmousedownの多くを実行しますが、ここでは単純化のための警告です)。あなたが見るように、アラートがFirefoxで発生するが、それは何らかの理由でSafariで動作しません:あなたはlistbox-でそれをクリックした場合
<html>
<head>
</head>
<body>
<select>
<option id="a1">1</option>
<option id="a2">2</option>
<option id="a3">3</option>
<option id="a4">4</option>
<option id="a5">5</option>
</select>
</body>
<script type="text/javascript">
<!--
document.getElementById("a1").addEventListener("mousedown", function(e) { alert("A"); return true; }, false);
document.getElementById("a2").addEventListener("mousedown", function(e) { alert("b"); }, false);
document.getElementById("a3").addEventListener("mousedown", function(e) { alert("c"); }, false);
document.getElementById("a4").addEventListener("mousedown", function(e) { alert("d"); }, false);
document.getElementById("a5").addEventListener("mousedown", function(e) { alert("e"); }, false);
-->
</script>
</html>