博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
让 select 的 option 标签支持事件监听(如复制操作)
阅读量:6322 次
发布时间:2019-06-22

本文共 714 字,大约阅读时间需要 2 分钟。

这标题,让option支持事件监听,应该不难的呀,有什么好讲的?

其实还是有的,默认在浏览器代码是无法直接对option标签进行操作的,不仅包括JS事件监听,还是CSS样式设置

查了一些资料,姑且认为它是系统OS级别处理的

 

想自定义option的样式,很多人会建议用 <ul> <li> 标签来辅助同步操作与值

想对option进行事件监听,有一个tip:当给select显示设置了size 属性且值 大于1 时,才能监听

 

近来产品也提了个鼠标操作复制option值的需求,就利用这个size属性实现一番吧

先看图

实现小析

因为select的size属性表示默认展示多少个option,并设置这个高度

不过有了size之后,默认select右侧就会出现滚动条式样,加个 overflow:hidden 处理就行了

此外,功能操作与原select也有一些些不同,也要模拟处理

右键后生成一个复制按钮,点击复制则调用浏览器自身的复制命令

 

HTML

复制按钮的模板

要注意一个点,id为myCopyVal放在此处是为了方便定位元素,再调用文本select()方法,调用此方法时要求dom元素不能隐藏

所以需用 opacity:0 代替 type="hidden" | display:none | visibility:hidden

JS部分

    

当然了,这个execCommand方法可能在某些浏览器上不支持,这里还没做兼容,复制功能也还有些简陋

就酱

转载地址:http://cicaa.baihongyu.com/

你可能感兴趣的文章
mysql乱码以及Data too long for column全解(最完整实用版)
查看>>
使用Linux调用资源库中的Job报错-ERROR: No repository provided, can't load job.
查看>>
用 Swift 制作一个漂亮的汉堡按钮过渡动画
查看>>
fastclick 源码注解及一些基础知识点
查看>>
为什么要阅读——兼分享《首先,打破一切常规》[中译文]:世界顶级管理者的成功秘诀/(美)马库斯&#183;白金汉,(美)柯特&#183;科夫曼 著...
查看>>
012——VUE中todos示例讲解class中应用表达式
查看>>
Android 沉浸式状态栏 实现方式二 ( 更简单 )
查看>>
更改已经签名的app中的内容
查看>>
性能测试十大误区
查看>>
PHP中使用cURL实现Get和Post请求的方法
查看>>
ASP.NET MVC是如何运行的[2]: URL路由
查看>>
30款顶级CSS工具及应用-CSDN.NET
查看>>
自定义安装Apache+php+mysql网站服务器环境
查看>>
JAVA nio 2 定义 Path 类
查看>>
ubuntu12.04 安装配置jdk1.7
查看>>
修改tomcat服务器默认端口号
查看>>
bootstrap-datetimepicker 进一步跟进~~~开始时间和结束时间的样式显示
查看>>
idea创建maven-archetype-webapp项目无java目录
查看>>
《 Oracle查询优化改写 技巧与案例 》电子工业出版社
查看>>
关系型数据库种类
查看>>