如何在ajax调用后删除和重新加载jQuery / javascript函数
How to delete and reload jQuery / javascript functions after ajax call
假设我有这样的代码:
<div id="content">
</div>
和我使用一个简单的ajax请求填充数据的内容,当我点击一些按钮
工作 $.get("page?num=" + pageNumber, function(data){
$("div#content").html(data);
});
一次数据将为
<div id="Data1">
</div>
,其他时候是
<div id="Data2">
</div>
对于每个id我有不同的jquery函数。比如:
$('#Data1').click(function(){});
有些功能相似,有些功能不同。
我的问题 -如果我点击按钮,我加载我需要的所有脚本。当我单击另一个按钮时,我需要再次加载新内容的脚本,,但是与以前的内容相关的旧函数会发生什么?每次我点击我加载新的脚本而不删除最后的。
我如何正确删除/管理我的脚本?
谢谢,阿龙
我不确定是否理解了你的问题。你在期待像
这样的东西吗?$("div#content").html(""); // deleting existing data
$("div#content").html(new_data); //loading new data
当事件被调用时,jQuery将事件绑定到DOM对象(divs
)。这意味着它查找具有给定ID的元素,然后将其绑定。由于运行脚本时Edit1和Edit2不存在,因此不绑定它们。
您可以尝试在每次更改它们的ID时绑定它们。
function rebind() {
$('#content').click(function(){});
$('#Data1').click(function(){});
$('#Data2').click(function(){});
}
在div中加载新内容时调用。
Gurung关于事件处理程序的观点是正确的,但是从jQuery 1.7开始,.live()方法已被弃用。使用.on()来附加事件处理程序。
(我不能把这个信息作为评论发布,所以它必须是一个新的答案,抱歉)
May应该直接使用.live()
功能。
描述:为所有匹配当前选择器的元素附加一个事件处理程序,现在和将来都是如此。
相关文章:
- 使用javascript函数在页面初始化后加载jquery
- 什么'这是加载jQuery的最佳方式
- 在WordPress站点中加载jquery.js后加载javascript代码
- 延迟加载jquery后替换$(document).ready(function)
- 如何使用onLoad加载jQuery JSON.从Zipcode On Form获取城市和州
- 对页面重新加载 Jquery 执行操作
- 在Ajax(过滤器)加载之后加载jQuery脚本
- 异步加载JQuery时Tabbed Box已损坏
- 加载Jquery时Chrome扩展出错
- 在更改事件上加载jQuery DataTable
- 手动加载JQuery而不触发内容安全策略
- 如果更改,请在ng之后重新加载Jquery
- 脚本似乎在加载jQuery之前运行-未定义Uncaught ReferenceError:$
- 在使用jquery之前动态加载jquery
- 如何重新加载jquery,以便它能为下一个进程工作
- Firefox没有't从ajax.googleapis.com加载jquery
- 我无法在自定义Wordpress主题中成功加载jQuery
- 正在从maphilight href加载Jquery选项卡
- 如何在完全加载html之后加载jquery代码段
- 在页面加载jQuery/Javascript时,按.class对表行进行排序