Я использую скрипт «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 ()»Функция повсюду в скрипте, так что другое действие может быть запущено, но оно не работает.Есть еще два действия, борющихся за одно и то же событие.
Любая помощь будет признательна.