Javascript HTML选项仅在Safari中不会对onmousedown作出反应
我有一个HTML选项元素,当它被选中时,我想执行一些操作。所以我让它对onmousedown事件做出反应&让它对该事件执行操作 我的问题:代码只在Firefox中有效。在Safari中,事件从未触发?代码永远不会执行。你知道为什么会这样吗?也许我应该对不同的事件做出反应,比如onselect或onchange 这是我正在做的一个简单的例子(我在mousedown上执行了很多代码,但这里只是一个简单的提示)。正如您将看到的,该警报出现在Firefox中,但由于某些原因在Safari上不起作用:Javascript HTML选项仅在Safari中不会对onmousedown作出反应,javascript,html,safari,webkit,Javascript,Html,Safari,Webkit,我有一个HTML选项元素,当它被选中时,我想执行一些操作。所以我让它对onmousedown事件做出反应&让它对该事件执行操作 我的问题:代码只在Firefox中有效。在Safari中,事件从未触发?代码永远不会执行。你知道为什么会这样吗?也许我应该对不同的事件做出反应,比如onselect或onchange 这是我正在做的一个简单的例子(我在mousedown上执行了很多代码,但这里只是一个简单的提示)。正如您将看到的,该警报出现在Firefox中,但由于某些原因在Safari上不起作用: &
<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>
1.
2.
3.
4.
5.
看起来只有在列表框中单击某个选项时才会触发onmousedown事件,即使用multiple=“true”
进行选择。当该选项从“常规”选择下拉时,单击该选项似乎不会触发该事件
也许我应该对不同的事件做出反应,比如onselect或onchange 是,我将使用
onchange
事件:
<select id="sel">
<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>
document.getElementById("sel").onchange = function(e) { alert(this.value); };
1.
2.
3.
4.
5.
document.getElementById(“sel”).onchange=函数(e){alert(this.value);};