怎么做"如果点击其他......"

Tom*_*Tom 14 jquery click

我正在尝试使用jQuery来做类似的事情

if(jQuery('#id').click) {
    //do-some-stuff
} else {
    //run function2
}
Run Code Online (Sandbox Code Playgroud)

但我不确定如何使用jQuery做到这一点?任何帮助将不胜感激.

编辑:我正在尝试运行一个函数,如果已经点击了#id,特别是它没有被点击,那么运行函数2?即我需要首先检查#id在运行之前是否已被点击function2

Edg*_*ado 29

您应该避免使用全局变量,并且更喜欢使用 .data()

所以,你做的:

jQuery('#id').click(function(){
  $(this).data('clicked', true);
});
Run Code Online (Sandbox Code Playgroud)

然后,检查是否已单击并执行操作:

if(jQuery('#id').data('clicked')) {
    //clicked element, do-some-stuff
} else {
    //run function2
}
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助.干杯


Jam*_*ong 9

这样做的方法是使用更高范围的布尔值:

var hasBeenClicked = false;
jQuery('#id').click(function () {
    hasBeenClicked = true;
});

if (hasBeenClicked) {
    // The link has been clicked.
} else {
    // The link has not been clicked.
}
Run Code Online (Sandbox Code Playgroud)

  • 请注意,上面的代码实际上总是运行else case,因为click事件在执行到达if语句之前不会触发.虽然这个答案在技术上可能是正确的,但您应该确保理解事件驱动编程的更广泛概念. (3认同)