鼠标移动时禁止选中文字

11 篇文章 0 订阅
4 篇文章 0 订阅

今天在做div移动时遇到一个奇怪的问题 ,就是在移动div的时候偶尔会选中div中的文字,同时会影响div移动的流畅性,直接上解决方法:

禁止鼠标右键:οncοntextmenu="return false";

禁止选择:onselectstart="return false";

禁止拖放:οndragstart="return false";

禁止拷贝:οncοpy=document.selection.empty() 。

禁止复制oncopy = "return false"

禁止保存:<noscript><iframe src="*.htm"></iframe></noscript>,放在head里面。

禁止粘贴:<input type=text οnpaste="return false">

禁止剪贴oncut = "return false"

关闭输入法:<input style="ime-mode:disabled">

   这是通过CSS样式来实现的禁止用鼠标选择功能:unselectable为IE准备,onselectstart为Chrome、Safari准备,-moz-user-select是FF的 
  css style:html,body{-moz-user-select: none; -khtml-user-select: none; user-select: none;}

<div unselectable="on" onselectstart="return false;" style="-moz-user-select:none;"> 
  屏蔽选择的样式定义:-moz-user-select属性(只支持ff)。 
  属性有三个属性值: 
  1、 none:用none,子元素所有的文字都不能选择,包括input输入框中的文字也不能选择。 
  2、 -moz-all:子元素所有的文字都可以被选择,但是input输入框中的文字不可以被选择。 
  3、 -moz-none:子元素所有的文字都不能选择,但是input输入框中的文字除外。 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个简单的示例代码,展示了如何在Vue3上下组件之间增加可拖动的分割条: ```vue <template> <div class="container"> <div class="top" :style="{ height: topHeight + 'px' }"> <slot name="top"></slot> </div> <div class="splitter" ref="splitter" @mousedown="startDrag"></div> <div class="bottom"> <slot name="bottom"></slot> </div> </div> </template> <script> export default { data() { return { topHeight: 200, // 初始上部分的高度 isDragging: false, // 是否正在拖拽 }; }, methods: { startDrag(event) { this.isDragging = true; const startY = event.pageY; const splitter = this.$refs.splitter; const container = splitter.parentNode; container.style.userSelect = 'none'; // 禁止选中文字 container.style.cursor = 'ns-resize'; // 修改鼠标样式 const onMouseMove = (event) => { const deltaY = event.pageY - startY; this.topHeight += deltaY; }; const onMouseUp = () => { this.isDragging = false; container.style.userSelect = 'auto'; // 恢复选中文字 container.style.cursor = 'auto'; // 恢复鼠标样式 window.removeEventListener('mousemove', onMouseMove); window.removeEventListener('mouseup', onMouseUp); }; window.addEventListener('mousemove', onMouseMove); window.addEventListener('mouseup', onMouseUp); }, }, }; </script> <style> .container { display: flex; flex-direction: column; height: 100%; } .top, .bottom { overflow: auto; /* 让内容超出部分可滚动 */ } .splitter { height: 5px; background-color: #aaa; cursor: ns-resize; } </style> ``` 在上述代码中,我们使用了一个`<div>`元素作为分割条,设置了它的高度和背景样式。当鼠标按下该元素,我们在`window`对象上监听鼠标移动鼠标抬起事件,计算出鼠标移动的距离并修改上部分的高度,从而实现了动态调整上下组件之间的分割线位置。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值