禁用Opera中元素的双击事件

有没有办法禁用(使用CSS,JS或jQuery)双击给定元素?

Opera的问题在于,当我单击元素太快时它会显示一个菜单。 请注意,我知道如何为我禁用此function。 我希望能够为使用该脚本的所有用户禁用此function。

有问题的按钮是“下一个”/“前一个”按钮,我使用输入类型图像,但“a”也是如此。

它完成了我需要这个:

/** Disable text selection by Chris Barr, of chris-barr.com */ $.fn.disableTextSelect = function() { return this.each(function(){ if($.browser.mozilla){//Firefox $(this).css('MozUserSelect','none'); }else if($.browser.msie){//IE $(this).bind('selectstart',function(){return false;}); }else{//Opera, etc. $(this).mousedown(function(){return false;}); } }); } 

然后我可以禁用我的按钮元素上的文本选择,如下所示:

 $(function(){ $('input[type=image]').disableTextSelect(); }); 

现在我可以快速点击按钮,所有工作正常:-)。

您不能在同一元素上附加clickdblclick事件处理程序,因为当您进行dblclick两个事件都将被触发。 为了使它工作,几乎没有工作。

这可能对你有帮助

检测到双击事件时需要取消单击/鼠标事件

看看你的问题有一个简单的解决方案。 在Click事件处理程序中,单击它后,设置禁用的属性或某个类名(禁用)。 在为此属性或类名称执行代码checck之前的处理程序中。 如果存在则不做任何事情。 一段时间后删除此attribtue或类名称。 试试这个

 $("selector").click(function(){ var $this = $(this); if(!$this.hasClass("disabled")){ //Do you stuff here $this.addClass("disabled"); setTimeout(function(){ $this.removeClass("disabled"); }, 200); } }); 

JavaScript会为你做到这一点。

 DOMElement.ondblclick = (function () {return false;})();