我在项目中使用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对象引用为$.uiwindow.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);
});

10-05 21:57