问题描述
HTML “select” 元素是否有一个 on select 事件?事件的名称究竟是什么?
最佳解决方案
onchange
您正在寻找什么?
次佳解决方案
还有一点值得一提的是,如果选择没有改变,这不会触发 (看起来不言自明) 。据我所知,当用户下拉选择框,然后重新选择原始值时,没有任何事件触发。
第三种解决方案
它是 onchange Event 。
jQuery 包装在.change
帮助器中。如果使用简单的 Javascript 然后使用 addEventListner('change', function...)
:
<html>
<head>
<script type="text/javascript" src="jquery-1.2.6.js"></script>
<script type="text/javascript">
// If using jQuery
$(document).ready( function() {
$("#list").attr( "selectedIndex", -1 );
$("#list").change( function() {
$("#answer").text( $("#list option:selected").val() );
});
});
</script>
<script type="text/javascript">
// Plain Javascript:
document.addEventListener('DOMContentLoaded', function(event) {
var selectList = document.getElementById("list");
var divAnswer = document.getElementById("answer");
selectList.addEventListener("change", function(changeEvent) {
divAnswer.textContent = selectList.value;
});
});
</script>
</head>
<body>
<div id="answer">No answer</div>
<form>
Answer
<select id="list">
<option value="Answer A">A</option>
<option value="Answer B">B</option>
<option value="Answer C">C</option>
</select>
</form>
</body>
</html>
第四种方案
无论输入类型如何,每当表单输入更改值时,都应始终抛出 onchange
事件。 (除了按钮,因为它们不是真的输入设备) 。
参考文献
注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。