Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.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
jQuery UI-多个可拖动对象的性能损失?_Jquery_Web Applications_Jquery Ui_Performance - Fatal编程技术网

jQuery UI-多个可拖动对象的性能损失?

jQuery UI-多个可拖动对象的性能损失?,jquery,web-applications,jquery-ui,performance,Jquery,Web Applications,Jquery Ui,Performance,我有一个关于性能的问题。当我在已经可以拖动的元素上调用draggable(使用所有相同的选项)时,会有性能损失吗 我有可以在拖拽容器(比如漫画)上拖拽的语音泡泡。这些气泡也是可拖放的,因为您可以通过在其上放置相应的图标来选择气泡的类型(说话、生气、思考等)。除了一个案例外,这一切都很有效。当我添加一个新的冒泡时,这个新的冒泡不被我在init开始时所做的draggable调用所覆盖。我自然要做的是重新绑定。现在是我问自己这个问题的部分。首先解除所有气泡的绑定,然后重新应用可拖放对象(通过简单地调用

我有一个关于性能的问题。当我在已经可以拖动的元素上调用draggable(使用所有相同的选项)时,会有性能损失吗

我有可以在拖拽容器(比如漫画)上拖拽的语音泡泡。这些气泡也是可拖放的,因为您可以通过在其上放置相应的图标来选择气泡的类型(说话、生气、思考等)。除了一个案例外,这一切都很有效。当我添加一个新的冒泡时,这个新的冒泡不被我在init开始时所做的draggable调用所覆盖。我自然要做的是重新绑定。现在是我问自己这个问题的部分。首先解除所有气泡的绑定,然后重新应用可拖放对象(通过简单地调用气泡的init函数)不会有任何好处,因为它会松开可拖放标记。所以我问自己是否可以简单地重做一个draggable而不会因为双重绑定相同的函数而失去性能

我不能真正测试它,因为我是在21英寸的iMac上开发的,这比这个Web应用程序将用于性能可能会有问题的教育(如小学)的计算机要快得多

编辑:实际的问题是,如果我在一个已经可拖放的元素上定义一个新的可拖放,它是只会更改选项,还是会应用一个全新的可拖放并双重绑定它?这个问题听起来很奇怪,但这个应用程序已经有2k+行jQuery+jQueryUI代码,带有很多拖放功能,我不能使用unbind light hea迪德


编辑2:我没有考虑过jQueryUI的销毁功能。可以试试这个功能。

大多数jQuery UI使用相同的通用格式来销毁绑定和完成的安装,或者在安装后更改选项

销毁可拖动设备:

$("#bubble1").draggable('destroy');
更改选项:

$("#bubble1").draggable('option', 'scope', 'someNewValue');
我不太确定你的问题的方向,我认为如果你创建一个新的泡泡-你只需将新泡泡设置为一个dropbabble,然后更改旧泡泡的选项


就性能而言,我认为如果您先销毁旧实例,然后将其设置为备份,或者只是在DragTable中更改一个选项,就可以避免“双重绑定”带来的任何性能影响。

这就是我需要的。我没有考虑过,因为直到现在我才需要它。