HTML---javascript:增加option的onclick点击响应

在下拉列表中,一般在select上做响应,可以是onclick点击响应,也或者是onchange改变响应。

有时我们也需要不改变也响应,就需要对option也做点击响应,但是option不支持,需要增加如下代码:


function simOptionClick4IE(){  


    var evt=window.event  ;  
//获取事件控件,如果是ie就是element,如果是firefox就是target
var obj = evt.srcElement ? event.srcElement : event.target;
var selectObj=obj;  
  


//offsetX 设置或获取鼠标指针位置相对于触发事件的对象的 x 坐标。 offsetY 设置或获取鼠标指针位置相对于触发事件的对象的 y 坐标。 
/* event-button  意思是鼠标按键
0 没按键 
1 按左键 
2 按右键 
3 按左右键 
4 按中间键 
5 按左键和中间键 
6 按右键和中间键 
7 按所有的键 
*/
//offsetHeight 控件的可见宽度


//意思是  事件发生,选择产生了,点击后鼠标上下移动了 ,不是按鼠标右键  (鼠标上下移动的距离超出这个控件的高度或鼠标向下移动了)
    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  
                // 来判断用户是不是点击了同一个选项,进而做不同的处理.  
//因为此程序不需要判断和之前的点击内容是否一致,所以不作处理
mychange(option);
            }, 60);  
    }  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值