在 Firefox 中单击鼠标时无法选择所有输入元素文本
Having trouble selecting all input element text on mouse click in Firefox
我在最新的IE/Chrome中取得了巨大的成功:
<input value="Test"/>
<script>
require(["dojo/on", "dojo/query", "dojo/domReady!"], function(on, query){
var blah = query("input")[0];
on(blah, "focus", function(e){
this.setSelectionRange(0,9999);
});
});
</script>
目的是在他们单击输入元素时选择输入元素中的所有文本(就像默认情况下在 Tab 键插入时选择所有文本一样),因此当他们开始键入时,它会擦除其中的内容并重新开始。
但是,在Firefox(SeaMonkey也是)中,即使使用上述代码,有时也会在鼠标向上取消选择文本,并恢复为将插入符号放在用户单击的位置而什么都不选择的默认情况。您将始终看到文本至少在一瞬间被选中。
我能做什么?有什么建议吗?
在这里看到小提琴:
http://jsfiddle.net/avxra2q2/11/
我真的不知道为什么这会发生在 Firefox 中,我还测试了你在 jquery 中做什么以及 MDN(Mozilla 开发者网络)推荐的方式,因此我将假设它是一个错误。
但是我为您提供了一个可行的临时解决方案,请在 JSfiddle 中尝试这个,我得到了这个答案,因为我的浏览器经验,尤其是当您玩焦点和光标时,事情不会按照您的方式进行,因此浏览器需要一些时间。
你也可以看看下面的代码
require(["dojo/on", "dojo/query","dojo/has", "dojo/sniff", "dojo/domReady!"], function(on, query,has,sniff){
var blah = query("input")[0];
on(blah, "focus", function(e){
if(has("ff")){ // only firefox
var myVar = setTimeout(function(){
clearTimeout(myVar);
blah.focus();
blah.setSelectionRange(0,9999);
},150);
}else{
this.setSelectionRange(0,9999);
}
});
});
相关文章:
- 基于单选框更新页眉,选中并选择输入文本
- 我想在选择输入文件上显示图像
- 指令中选择输入的双向绑定不起作用
- 调整从选择输入中获取数据并将其放入 DIV 的 jQuery 代码
- JS根据类型和名称选择输入
- jQuery使用这个获取任何选择输入的name属性
- 无法检索从窗口.本地存储中选择输入值
- 使用Javascript与选择输入交互
- 在Meteor中加载带有采集数据的选择输入字段
- 使用 jquery 控制两个选择输入的组合值
- JavaScript 中的 if 语句,用于从选择输入中获取值
- 用文本输入填充选择输入
- 我无法使用jquery选择输入的值
- 如何在选择“输入颜色”后从中获取新的颜色值
- 如何添加单选按钮和复选框将选择输入到一起以形成JavaScript输出
- jQuery;Ajax-在页面加载时将项目加载到选择输入
- JQuery 验证器不适用于选择输入
- 如何使用 Reactjs 选择输入中的所有文本,当它聚焦时
- Angularjs:如何在页面加载时预先选择输入文本字段
- Jquery 不能在表单内选择输入元素,但在表单外部选择输入元素