我有这段代码将焦点放在元素(文本框)上。这在 IE 和 Firefox 中工作正常,但在 chrome 中则不行:/
我使用的是 JS,没有 jQuery(项目必需)和 VB.NET
建议? :)
谢谢
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/
但是焦点在您的代码中按原样工作,并且原始代码将光标放置在文本末尾
关于javascript - focus 在 IE 和 Firefox 上有效,但在 Chrome 上失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23834315/