select选择已选中的option不触发onchange事件的解决办法
XML/HTML Code复制内容到剪贴板
- <!DOCTYPE html>
- <html>
- <head>
- <title></title>
- </head>
- <body>
- <select id="u18">
- <option value="1">xxxxxxxx1</option>
- <option value="2">xxxxxxxx2</option>
- <option value="3">xxxxxxxx3</option>
- </select>
- </body>
- <script type="text/javascript">
- var id = document.getElementById("u18");
- id.addEventListener('change',function(){
- alert(this.value);
- });//单一添加下拉改变事件
- id.onmousedown = function(){//当按下鼠标按钮的时候
- thisthis.sindex = this.selectedIndex;//把当前选中的值得索引赋给下拉选中的索引
- this.selectedIndex = -1;//把下拉选中的索引改变为-1,也就是没有!
- }
- id.onmouseout = function(){//当鼠标移开的时候
- var index = id.selectedIndex;//获取下拉选中的索引
- if(index == -1){//如果为-1,就是根本没有选
- thisthis.selectedIndex = this.sindex;//就把下拉选中的索引改变成之前选中的值得索引,就默认选择的是之前选中的值
- }
- }
- </script>
- </html>