search

Home  >  Q&A  >  body text

javascript - 文本框获取焦点时选中不正常

以下是代码:

<label for="test">点我测试:</label>
<input type="text" id="test" value="abldjflad" onfocus="this.select()" />

点击label的时候,可以正常的选中文字,但是使用鼠标直接点击文本框的时候,选中一下,然后一下子就又取消选中了。按道理来说点击文本框的时候,应该也会正常的触发focus事件,这里却不行,另外加上一个click事件之后,第一次点击也会这样,第二次点击才会选中。

在线测试地址:http://jsfiddle.sinaapp.com/4zz6pu5j5。

巴扎黑巴扎黑2901 days ago249

reply all(1)I'll reply

  • PHP中文网

    PHP中文网2017-04-10 14:41:15

    因为点击文框先触发focus事件,然后触发了mouseup事件,下面的代码可用

      <script>
        function hi(e){
    
          if(e.type=='mouseup'){
            e.preventDefault()
          }
        console.log(e.type);
      };
    </script>
    <label for="test">点我测试:</label>
    <input type="text" id="test" value="abldjflad" onfocus="this.select();hi(event);"  onclick="hi(event);" onmouseup="hi(event);" />
    

    mouseup导致取消全选,进入输入状态

    reply
    0
  • Cancelreply