我是 jQuery 新手。但我想在我的项目中使用它的拖放功能。当我拖动项目时,我想调用一个函数,但不取消拖动。我想在运行该函数后仍保留该项目。
这是部分代码:
$(settings.columns).sortable({
items: $sortableItems,
connectWith: $(settings.columns),
handle: settings.handleSelector,
placeholder: 'widget-placeholder',
forcePlaceholderSize: true,
revert: 300,
delay: 100,
opacity: 0.8,
containment: 'document',
ghosting: true,
start: function (e,ui) {
$(ui.helper).addClass('dragging');
**// here is the place I would like to call a function.**
**//example gotoPage(2);**
},
stop: function (e,ui) {
$(ui.item).css({width:''}).removeClass('dragging');
$(settings.columns).sortable('enable');
/* Save prefs to cookie: */
iNettuts.savePreferences();
}
});
当我将调用代码放入 start()
中时,它会运行该函数,但也会取消拖动。基本上,我想仍然保留该项目并运行后面的功能。我希望我已经说得够清楚了。如果没有,请询问。
最佳答案
虽然我从未尝试过以下方法,但我会尝试采取一些不同的方法。
为什么不直接将函数写入点击?
$(settings.columns).click(function(e,ui){
//whatever you want to do
});
我不明白为什么这不起作用 - 一旦您单击一个项目来拖动它,就会触发此事件。
关于拖动项目时 JQuery 调用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6946799/