我的页面上有可排列的小部件(使用 JQuery 可排序),它们每个都有自己的“参考”。
它们还包含 $(document).ready()
在小部件的末尾:
<script>
{# Handle elements #}
$(document).ready( function () {
var el = $(widget.[{{ section }}][{{ index }}]);
widget.add($(el));
});
</script>
理论上$(document).ready()
只运行一次,那是页面加载的时候。问题是它也会在拖放元素时运行。
老实说,所有建议避免使用内联 JS 的人都是对的。在这种特殊情况下,我有充分的理由将内联 JS 放在那里。
我认为它不应该以拖放方式运行是否正确?如果没有,有什么解决方案可以防止它这样做?
更新:简单的例子在这里:
尝试重新排列第 1、第 3 和第 6 个元素并检查控制台。