我在项目中使用gridster.net,但遇到了问题。
我试图让窗口小部件仅在单击后按住鼠标一秒钟后才开始拖动。我正在使用下一个代码:
$(".gridster .gs-w").on('mousedown', function(e) {
gridsterObj.disable();
dragTimeout = setTimeout(function() {
gridsterObj.enable();
}, 500);
}).bind('mouseup mouseleave', function() {
clearTimeout(dragTimeout);
});
但这没用。似乎我必须调用开始拖动的功能,例如
gridsterObj.on_start_drag.call(gridsterObj, e, ui);
,但是在哪里可以获取UI对象?它在gridster代码中随处可见,但是我找不到它的创建位置。看来它是jquery的UI对象。我如何创建它?
最佳答案
您应该能够将UI对象引用为$.ui
或window.jQuery.ui
。
因此,您的代码应如下所示:
$(".gridster .gs-w").on('mousedown', function(e) {
gridsterObj.disable();
dragTimeout = setTimeout(function() {
gridsterObj.enable();
gridsterObj.on_start_drag.call(gridsterObj, $.ui);
}, 500);
}).bind('mouseup mouseleave', function() {
clearTimeout(dragTimeout);
});