选择输入中的所有文本,focusin

当我将焦点放在元素上时,我想要选择所有文本。

我用了

$('.class-focusin').focusin(function(e) {
    $(this).select();
});

但这不是我想要的完美行为。 当我在两个字符之间单击时,输入值不被选择,中间有一个光标。 我想要在Chrome浏览器中使用url栏的行为:单击并将光标替换为值选择

随意在这个小提琴中测试我的问题:http://jsfiddle.net/XS6s2/8/

我希望文本一旦被选中就能够接收光标。 答案选择,下面肯定是我想要的,谢谢


你可以有一个变量来查看文本是否被选中或不是:

http://jsfiddle.net/jonigiuro/XS6s2/21/

var has_focus = false;
$('.class-focusin').click(function(e) {
    if(!has_focus) {
        $(this).select();
        has_focus = true;
    }
 });

$('.class-focusin').blur(function(e) {
   has_focus = false; 
});

我想你必须等待浏览器将注意力集中到元素上,然后做出选择:

$('.class-focusin').focus(function(e) { 
    var $elem = $(this);
    setTimeout(function() {
    $elem.select();
    }, 1);
 });

呸。 或者直接绑定到点击事件:

$('.class-focusin').click(function(e) { 
    $(this).select();
 });

尝试使用点击代替focusin。

$('.class-focusin').click(function(e) {
    $(this).select();
});

演示

再见!

链接地址: http://www.djcxy.com/p/14757.html

上一篇: Select all the text in an input, focusin

下一篇: Meteor Animation