jQuery UI--按钮组按钮并不总是在第一次点击时工作
问题描述:
我正在使用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实现有一些小小的怪癖吗?
有没有人看到这个?我花了一些时间试图找到其他人有同样的问题,并没有发现任何提及它。其他人看到同样的问题吗?
答
这也发生在我身上。
我认为问题在于,您必须在点击按钮时仍然保持鼠标不动,否则它将无法工作。
例如,尝试按慢速移动鼠标时按下按钮。除非鼠标几乎没有移动,否则按钮将不起作用。也可以尝试拖动即使只有一个像素的按钮,然后释放。
您遇到该网站的网站似乎使用mousedown
来避免此问题。他们也在使用旧版本的jQuery UI,这可能是一个因素。
答
$("#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;
}
}
同样在这里,这太可怕了!有没有这个jQuery的错误? – ack
亚似乎是这样的:http://bugs.jqueryui.com/ticket/5454 –
@NadirMuzaffar我认为这是一个更好的bug请求来捕获细节:http://bugs.jqueryui.com/ticket/7665 – Brombomb