如何保存可拖动元素,以便下次加载时,我不必再次发出draggable()
功能。
我认为让类ui-draggable
会自动使元素被识别为可拖动,但我发现情况并非如此。
这是保存的可拖动元素。
<div id="one" class="ui-draggable">test 1 </div>
我是否必须再次发出draggable()函数才能使其可拖动。
答案 0 :(得分:1)
简短的回答是:是的,每次加载页面时都必须调用draggable。我会在准备好的事件中调用它。这是典型的做法。
答案 1 :(得分:1)
你总是要发出draggable()。我建议坚持使用FishBasket的回应并做到这一点。
你必须再次这样做的原因是因为它的行为 - 而不是内容。所以它是用JS完成的,而不是HTML。保存HTML对您没有帮助,您无法“保存”JS执行 - 您只需再次运行它。
如果你是受虐狂,你可以在页面上为你的所有可拖动者集体做到这一点,尽管在鼠标悬停时使用现场活动/委托。但我不建议使用实时鼠标悬停,因为它是旧版浏览器的性能问题。
$(document).delegate('selectorForDraggables', 'mouseover', function() {
var $this = $(this);
$this.data('isDraggable') || $this.draggable().data('isDraggable', true);
});
这将延迟对元素的可拖动调用,直到您将鼠标悬停在该元素上。问题是现在你必须检查onmouseover上的每个元素以查看是否进行可拖动调用...