我正在编写一个将事件处理程序附加到链接的 jQuery JS 文件,但事件处理程序将链接替换为通过 ajax 请求检索到的新链接。它实际上是一个 +1、-1 函数,因此链接来回切换。
我的理解是,即使链接被点击两次并恢复到原来的值,它也会成为第三个唯一的对象,对吗?我的问题是,每次分离事件处理程序对我有什么好处?因为在链接被替换后删除事件处理程序时它不会引发错误,所以我猜测该对象及其事件处理程序仍然存在于 JS 中,它们只是不再存在于 HTML 文档中,对吗?无论我是否这样做,它都可以正常工作,但我现在 100% 确定该过程是如何工作的。
这是我的 .done() 函数:
.done(function(ReturnData){
PlusOneDiv.replaceWith(ReturnData);
// Redefine variables and detatch/reattach event
PlusOneLink.off('click'); // Is this line helpful at all?
PlusOneDiv = $('#plusonediv');
PlusOneLink = PlusOneDiv.children('a');
PlusOneLink.on('click', submit_plus_one);