Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 重排不必要地调用内联jquery函数_Javascript_Jquery - Fatal编程技术网

Javascript 重排不必要地调用内联jquery函数

Javascript 重排不必要地调用内联jquery函数,javascript,jquery,Javascript,Jquery,我的页面上有可排列的小部件(使用jquerysortable),每个小部件都有自己的“引用” 它们还包含小部件末尾的$(document).ready(): <script> {# Handle elements #} $(document).ready( function () { var el = $(widget.[{{ section }}][{{

我的页面上有可排列的小部件(使用jquerysortable),每个小部件都有自己的“引用”

它们还包含小部件末尾的
$(document).ready()

            <script>
                {# Handle elements #}
                $(document).ready( function () {
                    var el = $(widget.[{{ section }}][{{ index }}]);
                    widget.add($(el));
                });
            </script>

{#句柄元素}
$(文档).ready(函数(){
var el=$(小部件[{{section}][{{index}}]);
widget.add($(el));
});
从理论上讲,
$(document).ready()
只运行一次,此时页面将加载。问题是,它在拖放元素时也会运行

老实说,所有建议避免内联JS的人都是对的。在这种特殊情况下,我有一个很好的理由将内联JS放在那里

我认为它不应该以拖放方式运行,对吗?如果没有,有什么办法防止它这样做

更新:简单示例如下:


尝试重新排列第一、第三和第六个元素,并检查控制台

我认为它不应该运行,但再次强调,可能会有一个脚本重新加载小部件?你能提供JSFIDLE链接吗?在安排上,使用(正则表达式)替换函数更改内部元素的引用,但仅此而已。理想情况下,你不应该在整个文档中使用
标记。您的js应该位于单独的文件(或单独的模块文件)中,并加载到文档中。在这种情况下,我有两种类型的重排:1。重新排列小部件;2.重新排列小部件中的元素。我需要有这个小部件内的脚本。在本例中,它是一个添加函数,但在我的代码中,它使用数据(预)填充。