Jquery单一点击不能正常工作

jquery single click not working properly

本文关键字:工作 常工作 单一点 不能 Jquery      更新时间:2023-09-26

我设法删除了列表项的属性元素,但我正在努力做以下事情:当我单击列表项时,它应该添加一个称为重要的类,否则,该类必须不存在。

我尝试使用jQuery:

$(document).ready(function (){                  
  var origHref = $('ul#primary-menu > li.menu-item-has-children > a').attr('href');  
//alert(origHref);
  var clicks = 0;
  $('ul#primary-menu > li.menu-item-has-children > a').removeAttr("href").data("origHref",origHref);
  $('ul#primary-menu > li.menu-item-has-children').click(function(){
     clicks++;
     if(clicks === 1){
       $('ul#primary-menu > li.menu-item-has-children').addClass('important');
     }
     else if(clicks > 1){
       alert("you clicked twice");
     }
  });       
});

问题:当我检查元素并第一次点击列表时,没有任何反应。只有当我第二次点击时,类才会被添加。

注意:我只想在移动设备上这样做,所以不需要担心屏幕宽度超过800像素。

请帮。

做一个基于类而非全局变量的if,防止默认的点击事件:

  $('ul#primary-menu > li.menu-item-has-children').click(function(e) {
  if ($(window).width() < 800) {
    if (!$(e.target).closest('ul').is('.sub-menu')) {
      e.preventDefault();
      if (!$(this).hasClass('important')) {
        $(this).addClass('important')
          //toggle the menu 
      } else {
        //redirect if second click 
        window.location = $(this).find('a').attr('href');
      }
    }
  }
});