Javascript 如何制作<;a>;类不可读取的标记?

Javascript 如何制作<;a>;类不可读取的标记?,javascript,jquery,css,anchor,Javascript,Jquery,Css,Anchor,我有一些带有子项的父导航项,我不需要单击父项 它们看起来像这样: <a href="parent">Parent Item</a> 是否有针对性地将标记与特定类别的.parent联系起来并使其不可读取?使用: $(function () { $('a.parent').on("click", function (e) { e.preventDefault(); }); }); 使用: 如果有人对纯CSS解决方案感兴趣(因为这个问题被

我有一些带有子项的父导航项,我不需要单击父项

它们看起来像这样:

<a href="parent">Parent Item</a>

是否有针对性地将
标记与特定类别的
.parent
联系起来并使其不可读取?

使用:

  $(function () {
    $('a.parent').on("click", function (e) {
      e.preventDefault();
    });
});
使用:


如果有人对纯CSS解决方案感兴趣(因为这个问题被标记为CSS),您可以使用


就支持而言


信用证:

如果有人对纯CSS解决方案感兴趣(因为这个问题被标记为CSS),您可以使用


就支持而言


信用证:

如果您想避免使用jQuery库,没有它也很容易:

var disabled = document.querySelector('.parent');
disabled.addEventListener('click', function(e) {e.preventDefault();}, false);

如果要避免使用jQuery库,没有它也很容易:

var disabled = document.querySelector('.parent');
disabled.addEventListener('click', function(e) {e.preventDefault();}, false);

另一个纯CSS选项是用绝对定位的“封面”覆盖链接:


.parent{位置:相对;z索引:-1;}
.parent:在{content:”;位置:绝对;顶部:0;右侧:0;底部:0;左侧:0;}

另一个纯CSS选项是用绝对定位的“封面”覆盖链接:


.parent{位置:相对;z索引:-1;}
.parent:在{content:”;位置:绝对;顶部:0;右侧:0;底部:0;左侧:0;}

您可以在身体上放置一个监听器,而不是在每个
.parent
上都放置一个监听器。在没有任何库支持的情况下,以下内容将在每个正在使用的浏览器中工作:

function stopClickOnParentClass(evt) {
  var el = evt.target || evt.srcElement;
  if (/(^|\s)parent(\s|$)/.test(el.className)) {
    evt.preventDefault();
    return false;
  }
}
然后:



您还可以将类传递给函数并从中构建正则表达式,从而使该类成为动态的。

您可以在主体上放置一个侦听器,而不是在每个
父对象上放置一个侦听器。在没有任何库支持的情况下,以下内容将在每个正在使用的浏览器中工作:

function stopClickOnParentClass(evt) {
  var el = evt.target || evt.srcElement;
  if (/(^|\s)parent(\s|$)/.test(el.className)) {
    evt.preventDefault();
    return false;
  }
}
然后:



您还可以将类传递给函数并从中构建正则表达式,从而使该类成为动态的。

@RobG如果有那么简单,我会的。这是建立在Ning的基础上的,Ning有自己的父链接,您不能删除。@RobG如果有那么简单,我会的。这是建立在Ning的基础上的,Ning有自己的父链接,您无法删除。这很好,但我忘记了在父元素下有子元素,当我输入这段代码时,子元素(即子菜单)不再出现。@Desi显然不会,因为您正在阻止默认行为,考虑改变你自己script@Mr.Alien:+1,更干净…
css
始终优先于
jQ
!!:)@外星人先生对不起,我不是想成为一个聪明的傻瓜。我很感谢你的回答,今天我学到了CSS的一些新东西。这很好,但我忘了提到我在父元素下有子元素,当我输入这段代码时,子元素(即子菜单)不会再下降了。显然,他们不会阻止你的违约行为,考虑改变你的行为。script@Mr.Alien:+1,更干净…
css
始终优先于
jQ
!!:)@外星人先生对不起,我不是想成为一个聪明的傻瓜。我很感谢你的回答,今天我学到了CSS的一些新东西。呵呵,谢谢。现在JS中有很多不错的添加(比如
querySelector
),我甚至更希望避免使用jQuery。你觉得我的CSS解决方案怎么样?这对老浏览器来说可能很好,但对最新的浏览器来说可能太过了,我提供了一个简单的CSS解决方案,它只做一行:)很公平,尽管只支持IE11和更高版本使我觉得依赖
指针事件
似乎有点快了。。。当然,这取决于网站。呵呵,谢谢。现在JS中有很多不错的添加(比如
querySelector
),我甚至更希望避免使用jQuery。你觉得我的CSS解决方案怎么样?这对老浏览器来说可能很好,但对最新的浏览器来说可能太过了,我提供了一个简单的CSS解决方案,它只做一行:)很公平,尽管只支持IE11和更高版本使我觉得依赖
指针事件
似乎有点快了。。。当然,这取决于网站。
<body onclick="stopClickOnParent(event);" …>