Jquery。单击一秒钟

Jquery。单击一秒钟,jquery,time,click,Jquery,Time,Click,如何使功能仅在单击按钮一秒钟后工作 乙二醇 我想要“翻转”,只要按下按钮1秒。如果你点击它不到一秒钟,它不会“翻转” 请建议 $(document).ready(function(){ $("#button").mousedown(function(e){ var self = this; clearTimeout(self.mouseUpTimer); self.mouseUpTimer = setTimeout(function(){ $(self).

如何使功能仅在单击按钮一秒钟后工作

乙二醇

我想要
“翻转”
,只要按下按钮1秒。如果你点击它不到一秒钟,它不会“翻转”

请建议

$(document).ready(function(){
  $("#button").mousedown(function(e){
    var self = this;
    clearTimeout(self.mouseUpTimer);
    self.mouseUpTimer = setTimeout(function(){
      $(self).bind('mouseup.delay', function(e){
        $(".panel").addClass('flip');
        $(self).unbind('mouseup.delay');
      });
    }, 1000);
  }).mouseup(function(e){
    clearTimeout(this.mouseUpTimer);
  });
});

jsFiddle:

非常感谢。那么,反过来呢?按下超过1秒,它不会“翻转”,只有当你按下不到1秒时,它才适用于任何大于或等于1秒鼠标向下事件。谢谢,但这并不完全是我需要的。这不应该在“MouseDown”中起作用,而应该在“MouseUp”中起作用。然后,该事件应在鼠标按下后发生。当鼠标悬停时,如果按下(鼠标向下)1秒钟(保持),它将“翻转”。鼠标悬停时,如果按住(鼠标向下)不到一秒钟(单击),则不会“翻转”。建议?我编辑了答案并提供了一个示例。请更新您的问题以反映您的需求。
$(document).ready(function(){
  $("#button").mousedown(function(e){
    var self = this;
    clearTimeout(self.mouseUpTimer);
    self.mouseUpTimer = setTimeout(function(){
      $(self).bind('mouseup.delay', function(e){
        $(".panel").addClass('flip');
        $(self).unbind('mouseup.delay');
      });
    }, 1000);
  }).mouseup(function(e){
    clearTimeout(this.mouseUpTimer);
  });
});