我使用这段代码尝试在用户聚焦于字段时选择字段中的所有文本。发生的事情是,它选择了所有的一秒钟,然后它被取消选择,输入光标留在我点击的地方…

$("input[type=text]").focus(function() {
   $(this).select();
});

我希望一切都能被选中。


当前回答

你可以使用简单的代码:

$('#idname').select();

其他回答

你可以使用简单的代码:

$('#idname').select();

这里有一些不错的答案,@user2072367是我最喜欢的,但当你通过标签而不是通过点击关注时,它会产生意想不到的结果。(意想不到的结果:通过标签聚焦后正常选择文本,必须再点击一次)

这个小提琴修复了这个小错误,并额外将$(This)存储在一个变量中,以避免多余的DOM选择。点击这里查看详情!(:

在IE >中测试

$('input').on('focus', function() {
    var $this = $(this)
        .one('mouseup.mouseupSelect', function() {
            $this.select();
            return false;
        })
        .one('mousedown', function() {
            // compensate for untriggered 'mouseup' caused by focus via tab
            $this.off('mouseup.mouseupSelect');
        })
        .select();
});

我来自2016年底,这段代码只适用于最新版本的jquery (jquery-2.1.3.js在这种情况下)。

if ($(element).is("input")) {
    $(element).focus(function () {
        $(element).select();
    });
}

或者你可以使用<input onclick="select()“>完美。

找到一个很棒的解决方案阅读这篇文章

$(function(){

    jQuery.selectText('input:text');
    jQuery.selectText('input:password');

});

jQuery.extend( {
    selectText: function(s) { 
        $(s).live('focus',function() {
            var self = $(this);
            setTimeout(function() {self.select();}, 0);
        });
    }
});