Javascript检查事件是否已被触发或单击

时间:2014-01-16 14:07:05

标签: javascript jquery

当我点击V形标签时,我有一个需要触发的功能。但是我只需要在第一次加载页面时触发该函数。如何在每次单击选项卡时阻止它触发?

    $('#navi a').bind('click',function(e){
        var $this   = $(this);
        var prevButton  = current;
        $this.closest('ul').find('li').removeClass('selected');

        if ( $(this).attr('id') == 'tab2')
        {
            //fire function only once
        }

    });

3 个答案:

答案 0 :(得分:3)

如果您只需要事件处理程序的部分运行一次:

$("div").on("click",function(){
    if (!$(this).data("fired")) {
        console.log("Running once");
        $(this).data("fired",true);
    }

    console.log("Things as usual");
});

Demo

答案 1 :(得分:2)

请改用.one绑定。这将在第一次点击时将其附加到火上并自行移除。

答案 2 :(得分:1)

使用:

var isalreadyclicked=false;
  $('#navi a').bind('click',function(e){
    var $this   = $(this);
    var prevButton  = current;
    $this.closest('ul').find('li').removeClass('selected');

    if ( $(this).attr('id') == 'tab2')
    {
    if(!isalreadyclicked){
        //fire function only once
    isalreadyclicked=true;
    }
    }

  });