onselect 与 onselectstart
2019-03-25 本文已影响0人
撑船的摆渡人
背景
开发登录页面的时候,有个滑动验证提出的bug,也算是优化建议吧。
就是说,点击拖动滑块的时候,操作过快没有点到滑块,就会选中提示文字,让文字变蓝,点击选中还能拖动,显得有些诡异,让我优化一下用户体验。
解决方案,给父级元素加上禁止选择:onselectstart = "return false"就不能被选中了
这里做一下总结,关于一些不是被经常用到的。
onselectstart
- 触发时间为目标对象被开始选中时(即选中动作刚开始,尚未实质性被选中)
- 基本上都能支持,但不被 input 和 textarea 标签支持
- 注意:如果想在火狐中禁用的话可以使用样式控制 div { -moz-user-select: none; }
onselect
- 文本框中的文本被选中时发生
- 被 input 和 textarea 标签支持
禁止选择:onselectstart="return false"
使用场景:实现元素内文本不被选中
禁止拖放:ondragstart="return false"
使用场景:禁止鼠标在网页上拖动
禁止拷贝:oncopy="return false"
使用场景:很多网站上的页面内容是不允许复制的,这样可以防止用户或者程序恶意的去抓取页面数据。
禁止粘贴:onpaste="return false"
使用场景:网银转账时,输入对方卡号,需要输入两次,通常第二次输入的输入框是不允许粘贴的,这样就在一定程度上保证了卡号的准确性。
禁止剪贴:oncut = "return false"
禁止鼠标右键:oncontextmenu="return false"
禁止保存
<noscript><iframe src="*.htm"></iframe></noscript> //放在head里面