javascript - focus 在 IE 和 Firefox 上有效,但在 Chrome 上失败

标签 javascript

我有这段代码将焦点放在元素(文本框)上。这在 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/

相关文章:

javascript - 是否可以仅更改material-ui中样式 Prop 中的一个属性

javascript - 过滤对象数组返回空数组

javascript - 在 Controller 内部使用操作?

javascript - iPhone 之类的 Javascript/jQuery 重新排序/随机播放小部件

javascript - 如何处理 AngularJS 中文本输入的条件焦点和选择?

javascript - 注销时删除登录 cookie

javascript - 从多个回调 javaScript 返回最终对象

javascript - 如果 div 集中在 jquery 中,如何获得值(value)?

javascript - jQuery:设置点击数组循环

javascript - 验证至少已选择一个选项