我使用一个称为“可拖动”的脚本,该脚本在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);
});
在询问之前,我总是会尝试展示一些内容,但是在这里,我只是被卡住了。 我不知道该如何进行。完全一样。
我在Stack Overflow中发现了一些变通方法来模拟拖动事件,但是它们并不适合此脚本(即:How to distinguish mouse "click" and "drag")。此处引发事件的方式使我感到困惑,因为其中包含变量,而且我不知道如何处理它们:
el.delegate(o.items, 'mousedown.' + self.widgetEventPrefix, function(e){..})
但是,我尝试了一件事,它正在脚本中的所有位置都删除了“ disableSelection()”函数,以便可以触发其他操作,但它不起作用。仍然有两个动作在争夺同一事件。
任何帮助将不胜感激。