jQuery Mobile、DOM 和事件解除绑定(bind)

标签 jquery dom mobile jquery-mobile jquery-events

我目前正在使用 jQuery mobile,并且有一个关于 DOM 一般如何工作的快速问题。目前,我将事件绑定(bind)到通过 AJAX 加载的页面上的元素(页面注入(inject)到 DOM 中)。

当页面转换时,根据jQuery Mobile docs , jQuery mobile 从 DOM 中删除页面。

我是否需要担心解除 jQuery 事件与 DOM 中不再存在的元素的绑定(bind)?当我通过 ajax 更改页面时,我是否确信 GC 会清理我的绑定(bind)?

TLDR:当与 jQuery 绑定(bind)的元素 [ $(...).on("click"...); ] 从 DOM 中删除时,我们还需要担心事件的解绑吗?或者 JavaScript 是否自动知道删除这些事件?

最佳答案

当您更改页面时,浏览器将清除上一页中的所有内容 - 您不必担心这一点。

在 jQuery 中,如果您使用 jQuery 的 .remove() 方法从 DOM 中取出某些内容,那么 jQuery 将为您清理。如果您不使用 .remove() 并手动删除 DOM 元素,那么某些 jQuery 状态可能无法正确清理(例如 .data()例如信息)。

关于jQuery Mobile、DOM 和事件解除绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9475941/

相关文章:

php - MySQL 数据无限滚动

jquery 更改同一表行中标签的更改事件值

javascript - 使用 jQuery 增加元素的类名之一

javascript - 使用按钮创建 HTML 元素

jquery - 如何将动态创建的div附加到容器

javascript - 在状态更新时使用 eventListener 进行指数重新渲染

最初显示 IOS pin 注释,然后使用自定义图像

jquery - 根据添加到数字的变量设置边距

iphone - iPhone/Android 上的 C++ 库 : Generation of Wrapper classes

html - Twitter bootstrap 2 顶部导航下拉菜单无法在移动设备上工作