开发者社区> 问答> 正文

怎么给select的option加onclick事件

select里面有一个change,但是对我现在有个需求是需要select里面option选项然后去生成什么,但是change有点麻烦,就是默认显示的第一个就是我想要的,这是总要点击其他再切换回来才能激发change事件,我想问option有没有类似click事件,这样我就可以直接点击选取了,不知道大家有没有明白我的用意,或者有其他做法都可以跟我说下,谢谢大家了~~

展开
收起
小旋风柴进 2016-03-12 11:31:51 4134 0
1 条回答
写回答
取消 提交回答
  • <!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){
        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()" > 
        <!-- 下面的 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>
    2019-07-17 19:00:33
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载