Javascript 使用onChange在select元素上触发JS,但如果已经选择了它,也会触发JS吗?
我写了一个非常基本的网站,涉及到用户使用下拉菜单选择一个选项,它会播放声音时,他们这样做 如果用户每次都想选择不同的选项,但如果他们播放某个选项中的声音,然后想通过再次选择来再次播放该选项,则此操作非常有效。我说再次选择它是因为它已经被选中了,所以单击选择框并选择相同的选项不会是onChange,这不会触发事件 您如何实现它,以便在单击时,无论是否选中它,它都将执行该JSJavascript 使用onChange在select元素上触发JS,但如果已经选择了它,也会触发JS吗?,javascript,jquery,Javascript,Jquery,我写了一个非常基本的网站,涉及到用户使用下拉菜单选择一个选项,它会播放声音时,他们这样做 如果用户每次都想选择不同的选项,但如果他们播放某个选项中的声音,然后想通过再次选择来再次播放该选项,则此操作非常有效。我说再次选择它是因为它已经被选中了,所以单击选择框并选择相同的选项不会是onChange,这不会触发事件 您如何实现它,以便在单击时,无论是否选中它,它都将执行该JS <select onchange="document.getElementById(this.options[this
<select onchange="document.getElementById(this.options[this.selectedIndex].value).play()">
<option>Select</option>
<option value="1">Sound one</option>
<option value="2">Sound two</option>
<option value="3">Sound three</option>
<option value="4">Sound four</option>
</select>
我想您也应该绑定click处理程序 带有内联事件绑定的JavaScript 无内联事件绑定的JavaScript jQuery
注意:如果您使用的是jQuery 1.7或更高版本,那么您应该开始使用而不是如何将其从onChange更改为onClick?如果我只是简单地改变它,它就不会运行了。
<select
onclick="document.getElementById(this.options[this.selectedIndex].value).play()"
onchange="document.getElementById(this.options[this.selectedIndex].value).play()">
...
</select>
<select id="myselect">...</select>
<script type="text/javascript">
function selectClickChange() {
document.getElementById(this.options[this.selectedIndex].value).play();
}
document.getElementById("myselect").onchange = selectClickChange;
document.getElementById("myselect").onclick = selectClickChange;
</script>
<select id="myselect">...</select>
<script type="text/javascript>
$(document).ready(function () {
$('#myselect').bind("change click", function () {
$('#' + $(this).val())[0].play();
});
});
</script>