编辑:由于问题实际上与jQueryUI 单选按钮有关,因此选择mousedown
事件上的按钮可能更容易。这是非标准的用户体验行为,但它应该解决按钮上的“长按”问题。因此,当检测到鼠标左键“向下”动作时,添加以下事件处理程序将选择一个按钮 - 请参阅更新的演示。
JavaScript
$('label').on('mousedown', function(event) {
switch (event.which) {
case 1:
$(this).click();
}
});
我原来的答案
首先,我会让单选按钮有更大的目标区域。您可以用填充将其包裹起来,<input>
这<label>
首先允许标签文本也选择按钮,但填充提供了更多可以单击的空间。
其次,从如何使用 CSS 禁用文本选择突出显示?,您可以禁用文本选择,允许移动而不取消单击。
HTML
<label>Button 1 <input type="radio" name="btn" /></label>
<label>Button 2 <input type="radio" name="btn" /></label>
CSS
label {
padding:0 10px;
border:1px dotted lightblue;
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
或查看(原始)演示。这不是一个完美的解决方案,但在我有限的测试中,我发现正在注册更多点击。