javascript - 当您删除()一个元素并在其他地方追加()它时,jQuery中的事件是否会丢失?

标签 javascript jquery dom event-handling jquery-events

当您 remove() 一个元素并在其他地方 append() 它时,jQuery 会发生什么?

看起来事件没有被钩住——就好像你只是插入新鲜的html(我猜这就是发生的事情)。但我的代码也可能存在错误 - 所以我只想在继续之前验证此行为。

如果是这种情况 - 是否有任何简单的方法可以将事件重新连接到 HTML 的该部分,或者以不同的方式移动元素而不首先丢失事件。

最佳答案

jQuery detach() 函数与 remove() 相同,但在它返回的对象中保留事件处理程序。如果您必须删除该项目并将其与所有东西一起放置在其他地方,您可以使用它。

var objectWithEvents = $('#old').detach();
$('#new').append(objectWithEvents);

在此处查看 API 文档:http://api.jquery.com/detach/

关于javascript - 当您删除()一个元素并在其他地方追加()它时,jQuery中的事件是否会丢失?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/559147/

相关文章:

javascript - 在 jQuery UI MultiSelect Widget 中选择复选框

javascript - ASP.NET MVC 3 单页应用程序使用 Javascript/jQuery AJAX : Memory and Detached DOM Issues

javascript - 在第 3 方域上调用 JavaScript

javascript - 如果我将 Google 分析代码放在 IF 语句中,它会起作用吗?

javascript - 从 Controller 调用 javascript 函数

php - 菜单显示不正确

javascript - 我想使用 css 进行叠加,但它不起作用

java - 是否可以使用 DOM 从 XML 文件创建对象?

javascript - 与 Angular 2 集成时,Bootstrap Dropdown 和 Bootstrap Tagsinput 不起作用

javascript - 使用 Angular 4 组件作为小部件(在静态网站上)