js怎么禁止点击滚动条(仅仅是点击拖动滚动条被禁止,鼠标滚轮是可以用的)

JavaScript016

js怎么禁止点击滚动条(仅仅是点击拖动滚动条被禁止,鼠标滚轮是可以用的),第1张

<body scroll="no"> //关闭滚动条,没有滚动条就无所谓拖动滚动条了

再加上

<script>

var oBody=document.body

oBody.onmousewheel=function (){

var ch=-1 //滚动幅度,负数表示鼠标上滚,页面上滚;正数表示鼠标下滚,页面反而上滚

oBody.scrollTop+=event.wheelDelta*ch

}

</script>

加滚动鼠标的事件来调整页面就OK了

不关闭滚动条的话,倒还有种方法可行,不过拖动滚动条时页面会闪烁,不够完美。

<script>

var o=document.body//这里可以是其他任何元素

var st=0

setInterval(setScrollTop,100)

o.onmousewheel=function (){

var ch=-1

st=st+event.wheelDelta*ch

}

function setScrollTop(){

o.scrollTop=st

}

</script>

因为element中的table不具备拖拽排序的功能,所以有时候会用到Sortable.js去实现拖拽的功能。具体的使用方法可以参考以下 https://blog.csdn.net/weixin_34301307/article/details/87527853

但是有时候我们只想特定的列能够进行拖拽,特别是在有input输入框的时候,如果包含input的列也能进行拖拽的话,会存在鼠标不能拖动选中input输入框里面内容的问题,因为但在input上拖动时,已经启动了拖拽功能,所有会导致无法选中input里面的内容,最直接效果就是,但你想复制粘贴input里面内容的时候,你会发现压根选不到里面的内容,而是被拖着走。

给需要拖动的列加一个共同的class,比如

然后运用handle属性就可以啦,handle就是用来控制允许拖动的元素的

// 如果为真,则允许用户旋转相机。如果为假,相机将锁定到当前标题。此标志仅适用于2D和3D。(可以理解为禁用鼠标左键旋转地球) scene.screenSpaceCameraController.enableRotate = false // 如果为真,允许用户放大和缩小。如果为假,相机将锁定到距离椭圆体的当前距离 scene.screenSpaceCameraController.enableZoom = false(可以理解为禁用鼠标右键缩放地球) // 如果为真,则允许用户倾斜相机。如果为假,相机将锁定到当前标题。这个标志只适用于3D和哥伦布视图。(可以理解为禁用鼠标中键拖动地球) scene.screenSpaceCameraController.enableTilt = false