After the list is dragged and scrolled, the default event of the form in the list does not work

such a list, because there are too many fields to display, I encapsulate the left and right drag and scroll method, because the default event is blocked when mousedown. Default events such as the focus,blur of the form in the list do not work. It"s normal to get rid of the return false in mousedown. But when dragging, Firefox and ie will choose Chinese characters. Change how to solve the problem of dragging and scrolling without selecting the text, and the default event of the form is normal.
drag and scroll method:
var el = this.$ (selector)
var doc = this.$ (document)
el.on ("mousedown", function (ev) {

)
var preX =  ev.clientX
var 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")

})

Mar.09,2021

the control point of the drag is placed on the header. Don't put it on table body.

recommend a plug-in: https://www.ag-grid.com/examp.


did not think of a better solution, tried to do this: do not return false or preventDefault, when mousedown, and then prevent the text part of the list from being selected, so that dragging left and right can cause the scroll bar to scroll normally, but not if the user wants to copy the text. There should be a better solution, found to supplement, if there is a god with a better idea, welcome to discuss

Menu