我正在使用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实现有一些小问题?
有没有人见过这个?我花了一些时间试图找到其他人有同样的问题,并没有找到任何提及它。还有其他人看到同样的问题吗?
答案 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;
}
}