javascript - 通过启用新元素的拖放来解决 jquery 性能问题

标签 javascript jquery ajax performance drag-and-drop

我有一个小型网络应用程序,可以使用一些拖/放功能。想象一下一个小型订单系统,您可以说订单 1(可拖动)将由员工 2(可放置)完成。效果很好。但是:

每 20 秒一次。我通过 AJAX 向数据库询问新订单。这些新订单也将是可拖动的。如果另一所大学下达了雇用员工的命令,则每个员工的订单列表也不会加载。要在 ajax 请求后启用拖放,我必须运行:

$('.order').draggable({
..
});

$('.employee').dropable({
..
});

因此 jquery 函数每 20 秒遍历一次洞 DOM。 10-15 分钟后,应用程序变得非常慢。您知道如何促进该过程吗?是否可以给出一个绝对的声明,即每个 .order 类都是可拖动的,即使该元素将在第一次注册后创建?

最佳答案

我认为问题在于页面上已有的元素变得可以一遍又一遍地拖动。 我认为解决方案是将一个类分配给那些已经拥有它的类:

$('.order').each(function() {
    var element = $(this);
    if ( !element.hasClass('event-already-attached')) {
        element.addClass('event-already-attached').draggable({

        })
    }
});

关于javascript - 通过启用新元素的拖放来解决 jquery 性能问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18652149/

相关文章:

php - 使用 jQuery 从数据库循环遍历 JSON

javascript - AngularJS 在浏览器关闭时删除所有 cookie 的方法

javascript - 动态触发下拉列表的选定索引更改

javascript - 转义码输入的 Keyup 问题

jquery - 通过 jQuery 调用所有标题(可能还有 alt)属性 - 并在悬停时对它们进行 CSS 处理?

javascript - 动态调整div中的文本大小

php - 如何加速AJAX?

javascript - 真正的 Ajax uploader 不会显示在 DIV 中

javascript - 使新关键字可选

javascript - d3.js 和 json - 简单的示例代码?