jQueryUI draggable()似乎不适用于button元素,但对其他元素也是如此

时间:2016-01-15 13:04:45

标签: jquery-ui draggable

我在我的应用程序中包含了jQuery UI,因此可以拖动页面元素。出于必要,我编写了一个函数来处理draggable()(因为一些元素具有与它们相关联的remove()并且可以在以后重新附加,该函数需要反复调用)并绑定dragstart和dragstop事件。基本上看起来像这样:

function makeDraggable(ID) {
    $("#" + ID).draggable({
        axis: (ID === 'myElement' ? "y" : "xy"),
        scroll: false
    }).bind("dragstart", function (evt) {
       //my code
    }).bind("dragstop", function (evt) {
        //my code
    });
}

Div元素工作正常但提交按钮我无法工作。我将按钮从type = submit更改为type = button,结果相同。我将按钮移到其form父项之外且结果相同。以与div元素相同的方式为按钮调用函数makeDraggable()。 draggable()函数不会在页面上的任何其他位置调用。类的'ui-draggable ui-draggable-handle'被添加到按钮中,因此函数makeDraggable()肯定会被触发。但是,由于某些原因,dragstart不会触发。当我向dragstart添加警告框时:

function makeDraggable(ID) {
    $("#" + ID).draggable({
        axis: (ID === 'myElement' ? "y" : "xy"),
        scroll: false
    }).bind("dragstart", function (evt) {
       alert(ID);
       //my code
    }).bind("dragstop", function (evt) {
        //my code
    });
}

警告框会针对其他元素触发,但不针对按钮触发。不会抛出控制台错误。我甚至删除了轴和滚动选项,但结果相同。关于发生了什么的任何想法?

0 个答案:

没有答案