Изменить событие с "mousedown" на "drag"
Я использую скрипт "dragtable", который запускается в mousedown. Проблема в том, что в mousedown уже есть функция сортировки, которую мне нужно сохранить, и я бы хотел, чтобы эта функция перетаскивания активировалась, когда вместо перетаскивания ячейки перетаскивалось. Какой вид имеет смысл.
Итак, в общем, я хотел бы запустить событие при нажатии на ячейку и другое при перетаскивании.
Вот часть перетаскиваемого скрипта, который запускает mousedown, который я хотел бы вызвать только при "перетаскивании" (и который мешает другому действию работать как есть):
el.delegate(o.items, 'mousedown.' + self.widgetEventPrefix, function(e){
var $handle = $(this),
elementOffsetTop = self.element.position().top;
if( $handle.hasClass( o.handle ) ){
$handle = $handle.closest('th');
e.currentTarget = $handle.closest('th')[0]
}
self.getCol( $handle.index() )
.attr( 'tabindex', -1 )
.focus()
.disableSelection()
.css({
top: elementOffsetTop,
left: ( self.currentColumnCollectionOffset.left + o.appendTarget[0].scrollLeft )
})
.appendTo(o.appendTarget)
self._mousemoveHandler(e);
});
У меня всегда есть некоторые попытки показать, прежде чем я спрашиваю, но здесь, я просто застрял. Я не знаю, как поступить. Вроде на всех.
Я нашел некоторые обходные пути в переполнении стека для эмуляции события перетаскивания, но они просто не соответствуют этому сценарию (т. Е. Как различать "щелчок" мыши и "перетаскивание"). То, как событие происходит здесь, смущает меня, так как есть переменные, и я не знаю, как с ними обращаться:
el.delegate(o.items, 'mousedown.' + self.widgetEventPrefix, function(e){..})
Однако есть одна вещь, которую я попробовал, и она удаляет функцию "disableSelection()" в любом месте скрипта, чтобы другое действие могло быть запущено, но оно не работает. Есть еще два действия, борющихся за одно и то же событие.
Любая помощь будет оценена.