我用ajax加载页面,并用它加载页面javascript代码。
我想知道,如果我删除页面javascript代码,其上有jquery实时绑定事件,它会终止绑定还是我仍然需要调用$(this).die();功能
jquery live bind event
jQuery(function($) {
$('.showNavLink').live('click', function() {
});
});
Ajax页面流程
答案 0 :(得分:2)
删除元素取消关联相应元素的所有事件。
即使删除元素,如果不删除事件,也可能存在内存泄漏
..所以最好明确地调用.die()
另外
As of jQuery 1.7, use of .die() (and its complementary method, .live())
is not recommended. Instead, use .off() to remove event handlers bound with .on()
答案 1 :(得分:2)
删除Javascript源代码不会删除从该代码创建的Javascript函数对象。
您必须取消绑定事件处理程序以防止它处理事件。
答案 2 :(得分:2)
$.live
已弃用http://api.jquery.com/live/。但如果您正在使用它,则应将其删除。我假设你永远不会刷新页面。只删除脚本标记不会撤消脚本运行时所做的所有操作。
新方法是
$(document).on('click', '.showNavLink', function() {});
不再需要时
$(document).off('click', '.showNavLink');