Как узнать, нажимаете ли вы один и тот же элемент дважды? Jquery - PullRequest
4 голосов
/ 14 июля 2011

Как вы можете определить, нажимает ли пользователь на тот же элемент?

Я пробовал это безуспешно:

    _oldthis = null;

    var _this = $(this);

    if(_oldthis == _this) {
        alert('You clicked this last');
    }

    _oldthis = _this;

Ответы [ 3 ]

14 голосов
/ 14 июля 2011

Вы не можете сравнивать объекты jQuery, но вы можете сравнивать объекты DOM, которые они содержат. Попробуйте это:

var previousTarget=null;
$("a").click(function() {
    if(this===previousTarget) {
        alert("You've clicked this element twice.");
    }
    previousTarget=this;
    return false;
});
1 голос
/ 14 июля 2011

Вы можете попробовать это,

var _oldthis = null;
$('div').click(function(){
  var _this = $(this);

  if(_this == _oldthis) {
    alert('You clicked this last');
    _oldthis = null;
    return false;
  }
  _oldthis = _this;

});

0 голосов
/ 09 июля 2017
var clickHandler;
$('a').click(function(){
    if(clickHandler) {
        clickHandler = alert('click twice');
    } else {
        clickHandler = alert('click once');
    }
});
...