以下是代码:
<label for="test">点我测试:</label>
<input type="text" id="test" value="abldjflad" onfocus="this.select()" />
点击label的时候,可以正常的选中文字,但是使用鼠标直接点击文本框的时候,选中一下,然后一下子就又取消选中了。按道理来说点击文本框的时候,应该也会正常的触发focus事件,这里却不行,另外加上一个click事件之后,第一次点击也会这样,第二次点击才会选中。
在线测试地址:http://jsfiddle.sinaapp.com/4zz6pu5j5。
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
导致取消全选,进入输入状态