我在我的应用程序中包含了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
});
}
警告框会针对其他元素触发,但不针对按钮触发。不会抛出控制台错误。我甚至删除了轴和滚动选项,但结果相同。关于发生了什么的任何想法?