jQuery UI - 第一次单击时按钮组按钮并不总是有效

时间:2011-11-19 01:27:18

标签: jquery jquery-ui

我正在使用jQuery UI按钮组(基于几个单选按钮。)一切都很好,除非有时当你点击其中一个按钮时没有任何反应(就像你从未点击它一样)。我想也许这可能是我实现的问题,所以我去了演示网站:

http://jqueryui.com/demos/button/#radio

花了一些时间在不同的选择之间翻转。我有同样的问题!随机点击将被忽略!

我遇到过这个网站:

http://www.filamentgroup.com/lab/styling_buttons_and_toolbars_with_the_jquery_ui_css_framework/

哪个推出了他们自己的版本,我无法复制同样的问题。这让我相信jQuery UI实现有一些小问题?

有没有人见过这个?我花了一些时间试图找到其他人有同样的问题,并没有找到任何提及它。还有其他人看到同样的问题吗?

2 个答案:

答案 0 :(得分:8)

这也适用于我。

我认为问题是你必须在点击按钮时按住鼠标,否则它将无效。

例如,尝试以缓慢,稳定的速度移动鼠标时单击按钮。除非鼠标勉强移动,否则按钮将无法工作。也尝试拖动按钮,即使只有一个像素,然后释放。

您遇到的网站似乎使用mousedown来避免此问题。他们也使用旧版本的jQuery UI,这可能是一个因素。

答案 1 :(得分:7)

 $( "#radio" ).buttonset();
 $( "#radio" ).find("label").unbind("mouseup");

因为在jquery源代码中有:

.bind( "mouseup" + this.eventNamespace, function( event ) {
  if ( options.disabled ) {return; }
  if ( startXPos !== event.pageX || startYPos !== event.pageY ) {
                    clickDragged = true;
   }
}