【发布时间】:2010-09-19 13:41:07
【问题描述】:
HTML“select”元素是否有 on select 事件?活动的具体名称是什么?
【问题讨论】:
标签: javascript jquery html html-select
HTML“select”元素是否有 on select 事件?活动的具体名称是什么?
【问题讨论】:
标签: javascript jquery html html-select
onchange 是你要找的吗?
【讨论】:
还值得一提的是,如果选择没有改变,这不会触发(似乎不言自明)。据我所知,当用户下拉选择框然后重新选择原始值时,不会触发任何事件。
【讨论】:
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 事件。 (按钮除外,因为它们本身并不是真正的输入设备。)
【讨论】: