focus适用于IE和Firefox,但在Chrome上行不通
focus works on IE and Firefox but fail in Chrome
我用这段代码将焦点放在一个元素(文本框)上。这在IE和Firefox中运行良好,但在chrome中不工作:/
我使用JS没有jQuery(强制性的项目)和VB。净
建议吗?:)
Thx
var elem = document.getElementById("<%=txtPesquisa.ClientID%>");
var elemLen = elem.value.length;
// For IE Only
if (document.selection) {
// Set focus
elem.focus();
// Use IE Ranges
var oSel = document.selection.createRange();
// Reset position to 0 & then set at end
oSel.moveStart('character', -elemLen);
oSel.moveStart('character', elemLen);
oSel.moveEnd('character', 0);
oSel.select();
}
else if (elem.selectionStart || elem.selectionStart == '0') {
// Firefox/Chrome
elem.selectionStart = elemLen;
elem.selectionEnd = elemLen;
elem.focus();
}
如果你想在输入框中选择文本,我想你是指elem.selectionStart = 0
而不是elem.selectionStart = elemLen;
演示http://jsfiddle.net/ygalanter/fmP64/1/
但是焦点在你的代码中是正常工作的原始代码将光标放在文本的末尾
已解决
问题不在这个函数中,而在代码的其他地方。
然而,我对代码做了一个小小的改变,使其完美,并将自动对焦放在单词的末尾:
var elem = document.getElementById("<%=txtPesquisa.ClientID%>");
var elemLen = elem.value.length;
// For IE Only
if (document.selection) {
// Set focus
elem.focus();
// Use IE Ranges
var oSel = document.selection.createRange();
// Reset position to 0 & then set at end
oSel.moveStart('character', elemLen);
oSel.moveStart('character', elemLen);
oSel.moveEnd('character', elemLen);
}
else if (elem.selectionStart || elem.selectionStart == '0') {
// Firefox/Chrome
elem.selectionStart = elemLen;
elem.selectionEnd = elemLen;
elem.focus();
}
谢谢你的帮助
相关文章:
- jQuery自动完成在Firefox中运行良好,但在Chrome中则不然
- Javascript下载在firefox中停止,但在Chrome中有效
- Javascript'元素'在ie中未定义,但在chrome和firefox中运行良好
- 这个jQuery代码在Mozilla上运行良好,但在Chrome,Opera,Safari上则不然
- 火狐中的多个问题,但在 chrome 中工作正常,没有一个问题
- 在Firefox中工作正常,但在Chrome中不能
- Javascript正则表达式在IE中失败,但在Chrome和Edge中工作
- Javascript键码在Firefox中不起作用,但在chrome中运行良好
- 输入类型的图像在Internet Explorer中不起作用,但在Chrome和Firefox中起作用
- Jquery.hide()和.show()在firefox上运行速度较慢,但在chrome上运行良好
- 在getJSON之后构建HTML在Safari中有效,但在Chrome或Firefox中无效
- JS函数如何/为什么不能'不能在代码中执行,但在chrome控制台中运行良好
- html数据属性在firefox中使用javascript时没有按预期显示,但在chrome中显示正确
- ng-click在IE中不起作用,但在CHROME中工作正常
- event.prventdefault()在mozilla中不起作用,但在chrome中运行良好
- 代码在firefox中运行良好,但在chrome中不起作用.为什么?
- 拖放文件时,dataTransfer.items属性在Firefox和IE中未定义,但在Chrome中未定义
- jQuery scrollTop没有'不能在FF或IE中制作动画,但在chrome中效果良好
- innerHTML=Date()在fiddle中工作,但在Chrome或IE中不工作
- Fullpage.js不能在Mozilla上运行,但在Chrome上运行良好