首先,让我解释一下我的页面结构,这样你就可以了解它是如何工作的。我有一些quick-button
块。
它们可以通过Jquery ui .sortable()
方法进行排序,但只能在按下settings
按钮(允许快捷按钮可排序)之后进行排序。之后,可以保存或取消此按钮的顺序。
因此,我需要查看由click
事件引发的3个条件。
问题是,第一次一切正常,但第二次当我试图按下按钮settings
- sortable()
方法不再有效。
你可以在下面看到我的JS:
$('#tune-hot-links').click(function () { //Click "settings" button
$(".sect-hot-links-inner").sortable();
$(".sect-hot-links-inner").disableSelection();
});
$('.button-editgroup button.button-save').click(function () { //Click "save" button
$(".sect-hot-links-inner").sortable('disabled');
$(".sect-hot-links-inner").enableSelection();
});
$('.button-editgroup button.button-cancel').click(function () { //Click "cancel" button
$(".sect-hot-links-inner").sortable('cancel');
$(".sect-hot-links-inner").sortable('disabled');
$(".sect-hot-links-inner").enableSelection();
});
我已尝试在.sortable()
事件中将.sortable('enable')
更改为#tune-hot-links
。它不起作用。
答案 0 :(得分:4)
好吧,我不知道为什么,但似乎改变了这样的代码:
$('#tune-hot-links').on( "click", function() {
$(".sect-hot-links-inner").sortable("enable");
});
$('.button-editgroup button.button-save').on( "click", function() {
$(".sect-hot-links-inner").sortable("disable");
});
$('.button-editgroup button.button-cancel').on( "click", function() {
$(".sect-hot-links-inner").sortable('cancel');
$(".sect-hot-links-inner").sortable("disable");
$(".sect-hot-links-inner").enableSelection();
});
解决了这个问题。