javascript - 点击链接后 Jquery 类被删除,但第二次点击仍然可以识别

标签 javascript jquery

我遇到了一个小问题。我正在尝试使用 Jquery load() 函数使用 AJAX 加载页面上的内容。加载内容后,第二次点击链接,我需要加载内容以向上滑动/隐藏;当点击同一个链接 3 次以上时,我只需切换加载的内容显示,因为它已经加载过一次。

我的问题是,单击链接一次后,我删除了 loadable 类,但在第二次单击时,执行相同的函数,就好像该类仍然存在一样。这是我的 HTML:

<a title="Food" id="food" class="loadable" href="get-taste/food">Food</a>
<div class="food_load_space"></div>

链接触发加载并将数据加载到 .food_load_space 中。这是我的 JS:

$(document).ready(function(){
  $('a.loadable').click(function(){ //executed upon link click 1;
    url = $(this).attr('href');
    linkid = $(this).attr('id');
    toload = url + ' #content-area';
    //now, remove loadable, add loaded and expanded
    $(this).removeClass('loadable');
    alert(toload);
    $('.' + linkid + '_load_space').load(toload);
    return false;
  }); //kill loadable

我还计划添加一个 .expanded 类和一个 .loaded 类,以便脚本知道链接处于哪个状态。但是,即使 .loadable 类消失了。

最佳答案

事件已经绑定(bind)到元素上,需要手动unbind来自相关元素的事件。这可以通过调用 $(this).unbind('click'); 来完成。

您可能还希望检查该元素是否具有事件函数中的类。

关于javascript - 点击链接后 Jquery 类被删除,但第二次点击仍然可以识别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5024575/

相关文章:

jquery - Safari 中的 CSS 动画滞后

javascript - ajax 请求使页面滞后

javascript - 使用 Document.querySelector 从 p 获取文本,不包括范围值

带有 'auto width' 的 jQuery 显示/隐藏幻灯片图像

javascript - 如何在 Svg-edit 中调整工作区高度以填满屏幕?

javascript - Google Chrome 的 "New Tab"iframe 是如何工作的?

javascript:如何使用函数式编程比较两个对象数组?

javascript - ReactJS key 未显示

javascript - polymer 以声明方式将监听器附加到组件

javascript - 返回调用者数据值的 jQuery 函数