This question already has answers here:
How to make a jquery click event fire only on first click
                            
                                (4个答案)
                            
                    
                3年前关闭。
        

    

我有以下代码,当我单击它时,它会给我一个元素的ID。我希望在单击时仅给我一个元素的ID,而不是在单击第二个元素时给我。

$("svg").click(function() {
    if(this.id!='main_svg') {
        divs[1]=this.id;
    }
});


我当时正在考虑使用带有if条件的标志变量,但我想知道是否有比下面的方法更好的解决方案

Var flag = 0;
if($flag==0){
    $("svg").click(function() {
        if(this.id!='main_svg') {
            alert("second.one "+this.id);
            divs[1]=this.id;
            flag=1;
        }
    }
});

最佳答案

使用.one()

$("svg").one("click", function() {
  if(this.id!='main_svg')   {
  divs[1]=this.id;
 }
});

关于javascript - 如何使jquery只运行一次,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37687047/

10-12 00:04
查看更多