javascript option onclick事件ie解决方案 兼容ie,firefox

  作者:bea

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <title>select-option onclick </title> <script type="text/javascript" > function simOptionClick4IE(){ var evt=window.event ; va


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>select-option onclick </title>
<script type="text/javascript" >

function simOptionClick4IE(){
var evt=window.event ;
var selectObj=evt?evt.srcElement:null;
// IE Only
if (evt && selectObj && evt.offsetY && evt.button!=2
&& (evt.offsetY > selectObj.offsetHeight || evt.offsetY<0 ) ) {

// 记录原先的选中项
var oldIdx = selectObj.selectedIndex;

setTimeout(function(){
var option=selectObj.options[selectObj.selectedIndex];
// 此时可以通过判断 oldIdx 是否等于 selectObj.selectedIndex
// 来判断用户是不是点击了同一个选项,进而做不同的处理.
showOptionValue(option)

}, 60);
}
}

function showOptionValue(opt,msg){
//alert('aa');
var now=new Date();
var dt= (1900+now.getYear())+'-'+(now.getMonth()+1)+'-'+now.getDate()+
' '+now.getHours()+':'+now.getHours()+':'+now.getSeconds()+'.'+now.getMilliseconds();
var resultZone=document.getElementById('reslut');
resultZone.style.margin="10px";
resultZone.innerHTML=dt +" 时,点击了: " + (opt.text + ' = '+opt.value);
}

</script>
</head>

<body>

<select onclick="simOptionClick4IE()" style="width:235px; height:300px;margin-right:10px;border:1px solid #CFCDCD; background-color:#FFFFFF;font-family:'Arial'; font-size: 13px; color:#565553; font-style:normal; font-weight:normal; text-decoration:none">
<!-- 下面的 onclick="showOptionValue( this )" 是为 ff 和 opera而准备 -->
<option value="1" onclick="showOptionValue( this )" >aaaaa</option>
<option value="2" onclick="showOptionValue( this )" >bbbbb</option>
<option value="3" onclick="showOptionValue( this )" >ccccc</option>
</select>

<div id="reslut" ></div>
</body>
</html>




[Ctrl+A 全选 注:
如需引入外部Js需刷新才能执行]

运行测试下即可。


有用  |  无用

猜你喜欢