您可以手动附加一个click事件你的选择和设定目标,例如:
var i,
childs_collection = document.getElementById('mySelect').getElementsByTagName('option'),
colLength = childs_collection.length;
for(i=0; i < colLength; i++) {
childs_collection[i].onclick = function(e){
e.target = this;
//console.log('e.target = ' + e.target);
alert('e.target = ' + e.target.id);
};
}
,如果你使用jQuery就这么简单:
$(function(){
$('select option').click(function(e){ //or $('#mySelect').children('option').cli...
alert(e.target.id);
//do your stuff here
});
});
HTML:
<select id="mySelect" name="s1">
<option id="o1" value="1">1</option>
<option id="o2" >2</option>
<option id="o3" >3</option>
</select>
这不会取消键盘用户,所以不要忘记添加'键入'事件并测试空格键的密码! – daan
这些用户的变化事件是 – Irishka
,因为即使选定的项目与已经选择的项目相同,brettz9也希望触发该事件。更改事件不会在选择未更改时触发。 – daan