我有一种感觉,我要么误解'停止'事件,要么不做正确的事情,但是当元素被绑定时,似乎被多次调用。
makeAllDragable = function () {
$(".test-table").draggable({
start: function (event, ui) { $(this).click(); },
stop: function (event, ui) { foo() }
}).click(function () {
selectTable($(this));
});
}
foo = function () {
alert("test");
}
在这个例子中,foo被调用了大约30次,不应该只是当我释放拖动时? jQuery文档实际上并没有说出哪一个在哪里。
答案 0 :(得分:2)
事实证明,我在原始问题中写的上述代码并不是我正在使用的代码,我实际上已经调用了foo():
makeAllDragable = function () {
$(".test-table").draggable({
start: function (event, ui) { $(this).click(); },
stop: function (event, ui) { foo() }
}).click(function () {
foo(); /*difference here*/
});
}
无论出于何种原因,当函数也出现在stop()事件中时,拖动它会反复引发click()函数。至少这是表面上似乎发生的事情。