如何用 jQuery 替换 HTML 但保留事件绑定

2023-11-23

这更多的是一个战略问题,而不是一个具体问题,但我认为这是准确的问题,所以这里是:

假设我有一个页面或 ap,有 3 个独立的部分。表单部分的更改会向服务器发送 ajax post,这需要对第二部分进行更改。我想发回第 2 部分重新处理的 HTML 输出,并用它替换第 2 部分的原始状态

但是,第 2 部分有许多具有更改、单击、拖动等绑定的元素 - 根据经验,当我进行 html 替换时,我会丢失所有绑定。

然而,这让我不得不单独重写第 2 节中许多元素中的某些内容,以免丢失绑定。

I KNOW有一种更简单的方法可以解决这个问题,这似乎是一个常见问题。谁能给我提供这个问题的“啊哈”部分,也许还有一些例子或链接?对此,我真的非常感激。


您需要将问题分为两部分

处理事件
这可以通过使用事件委托来完成$.on()。即不是在元素上注册事件,而是在不会被删除的父元素上注册
Ex:

$('.container').on('click', 'a', function(){
    //do something
})

处理可拖动的小部件
在这里,我认为你运气不好,因为除了添加新的 dom 元素后重新初始化这些小部件之外,我没有看到任何其他方法
Ex:

var ct = $('.container').html('');
ct.find('li').draggable({})
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何用 jQuery 替换 HTML 但保留事件绑定 的相关文章

随机推荐