如果单击禁用选项,如何避免脚本执行?

时间:2017-09-11 14:12:47

标签: javascript firefox

我遇到了FF和选择元素的问题 - 请参阅以下代码段:



function fct() {
	alert("Hello World");
}

<select size="5" onclick="fct();">
    <option value="1">One</option>
    <option value="2" disabled>Two</option>
    <option value="3">Three</option>
</select>
&#13;
&#13;
&#13;

如果我使用Chrome(60.0.3112.78)并尝试点击禁用选项,则不会显示任何警报(正如我所预期的那样)。但如果我在FF(55.0.2)中这样做,则会显示警报。

如何在FF中获得与Chrome相同的结果?

1 个答案:

答案 0 :(得分:2)

您应该使用onchange,因为单击已禁用的元素时不会触发此操作。正如之前在评论中提到的那样,你仍然选择了select元素,所以基本上Firefox的行为仍然是正确的。

&#13;
&#13;
function fct() {
	alert("Hello World");
}
&#13;
<select size="5" onchange="fct();">
    <option value="1">One</option>
    <option value="2" disabled>Two</option>
    <option value="3">Three</option>
</select>
&#13;
&#13;
&#13;