0

下面我有一个样式类似于按钮的复选框:

 echo '<p>';
 foreach($options as $indivOption) {
     echo '<div id="ck-button"><label><input type="checkbox" name="options[]" id="option-' . $indivOption . '" value="' . $indivOption . '" /><span>' . $indivOption . '</span></label></div>';
 }
  echo '</p>';

现在发生的情况是,如果我快速单击复选框按钮两次,它会打开按钮,但不会将其关闭,而是在按钮上进行一些文本选择。因此,如果我有一个名为 的按钮E,如果我快速单击它两次,它会打开按钮,然后突出显示字母E

我的问题是,仅对于复选框按钮,如何在 javascript 中,因为我假设它是客户端来解决这个问题,如何防止文本选择仅针对复选框按钮而不是整个文档发生。

谢谢

4

1 回答 1

3

将此样式应用于检查按钮(或者,在您的情况下,包含检查按钮的 div ):

#ck-button {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

对于 < IE10 的浏览器,将属性添加onselectstart="return false;"ck-buttondiv。

于 2013-02-08T22:52:31.660 回答