将onclick添加到除一个链接jquery之外的所有链接

时间:2015-04-28 21:26:14

标签: javascript jquery

我找到了这段代码

function callback(e) {
    var e = window.e || e;

    if (e.target.tagName !== 'A')
        return;

    nanobar.go(100)
}

if (document.addEventListener)
    document.addEventListener('click', callback, false);
else
    document.attachEvent('onclick', callback);

当点击页面上的任何链接时,它会附加onclick和nano bar,因此在youtube上有很好的加载效果。但是,有一个链接不应该触发纳米棒,我该如何在此代码中将其排除?

3 个答案:

答案 0 :(得分:1)

您的代码已经有一个排除规则(在这种情况下,它会忽略来自<a>以外的元素的事件),只需添加到该排除项中,如下所示:

if (e.target.tagName !== 'A' || e.target.href.slice(-1) === "#") //exclude any hash anchors
  return;

答案 1 :(得分:0)

使用.not()

    $(function(){

        $("#main-photo-slider").codaSlider();

        $navthumb = $(".nav-thumb");
        $crosslink = $(".cross-link");

        $navthumb.hover(function() {
            var $this = $(this);
            theInterval($this.parent().attr('id').slice(1) - 1);
            return false;
        } );

        theInterval();
    });

演示 http://codepen.io/tuga/pen/aOzxza

答案 2 :(得分:0)

如何定义链接标记?有没有办法在链接标签上包含一些类或属性?如果有,那么你应该为那些应该触发nanobar的链接添加一个特定的类。然后只为具有该类的那些添加事件侦听器。没有该类的链接标签不会添加纳米棒功能。

只是想告诉你它是如何完成的。