如果我快速连续点击按钮,它会导致文本选择

时间:2013-02-08 22:49:25

标签: javascript jquery

下面我有一个样式为按钮的复选框:

 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中假设它是客户端进行排序,如何防止文本选择只发生在复选框按钮上,而不是整个文档。

由于

1 个答案:

答案 0 :(得分: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;
}

对于浏览器&lt; IE10,将属性onselectstart="return false;"添加到ck-button div。