这样的一个列表,因为要展示的字段太多了,我自己封装了左右拖拽滚动的方法,因为mousedown的时候阻止默认事件。列表内的表单的focus,blur等默认事件都不起作用。去掉mousedown里的return false就正常了。但是拖拽的时候火狐和ie下会选中文字。改如何解决才能正常拖拽滚动不选中文字,同时表单的默认事件正常。拖拽滚动的方法:var el = this.$(selector)var doc = this.$(document)el.on('mousedown', function (ev) {var preX = ev.clientXvar Left = el.scrollLeft()doc.on('mousemove.drag', function (ev) { var disX = preX - ev.clientX Left += disX el.scrollLeft(Left) preX = ev.clientX return false})return false})doc.on('mouseup', function (ev) {doc.off('mousemove.drag')})
2 回答
阿晨1998
TA贡献2037条经验 获得超6个赞
没想到比较好的解决办法,试了一下这么干:mousedown时不return false或者preventDefault,然后阻止列表里面文字部分被选中,这样左右拖动能带动滚动条正常滚动,不过假如用户想选中文字复制就不行了。
添加回答
举报
0/150
提交
取消