我把这篇文章和我想出的最好的答案放在一起。我没有发现任何类似的问题,所以这里开始。
当checkbox类型的输入转换为jquery ui按钮时,我观察到(就像others一样),只有当鼠标在单击时完全保持不动时,它才会记录单击。无论发生什么动作,什么都不会发生。对于用户来说,这只能被认为是不稳定和不可靠的行为。
其他人是如何解决这个问题的(在chrome 14和ie8中的jquery 1.6.3/jquery ui 1.8.16 )?有没有明显的我遗漏了什么,因为我必须花这么长的时间才能得到预期的行为?
发布于 2011-10-10 16:42:49
我从上面链接的jquery ui页面上的一个问题报告中得到了这个变通方法的想法,但它需要一些工作:jsfiddle
我在标签上附加了一个单击侦听器,并亲自处理状态更改。我还发现有必要防止在切换按钮上选择文本。这是通过css完成的(在SO上的其他地方可以找到)
.unselectable {
-moz-user-select: -moz-none;
-khtml-user-select: none;
-webkit-user-select: none;
user-select: none;
}也许这可以节省下一个想要使用jquery ui切换按钮的人的时间和痛苦。如果有人有更好/更干净的解决方案,我很感兴趣!
发布于 2014-04-22 22:10:58
老问题,但我想我应该把这个贴出来,因为我也有同样的问题,并来到了这里-从使用火狐的演示http://jqueryui.com/button/#radio中演示的jQuery UI按钮的行为来看,它似乎已经在v1.10.4中得到了修复。这是错误标签-- http://bugs.jqueryui.com/ticket/7665。下面是v1.10.4 - http://jqueryui.com/changelog/1.10.4/的更改日志
修复:单选按钮和复选框忽略鼠标的微小移动。(#7665,52e0f76)
但仍然存在一个问题,那就是它不会触发click事件。
发布于 2011-10-13 20:51:05
实际上,在1.8.13和之前的版本中有一个bug。如果您单击一个按钮并移动/拖动光标,则按钮在视觉上处于选中状态,但底层的复选框/单选按钮未被选中。因此,发送到服务器的表单数据与用户看到的内容不一致。
从版本1.8.14开始,此错误已得到解决。缺点是你必须保持你的鼠标不动。如果您决定使用旧版本的jquery-ui,请记住这一点。
https://stackoverflow.com/questions/7687480
复制相似问题