如何选择输入元素? (突出显示文字)

时间:2014-10-30 16:51:01

标签: javascript jquery select text input

我需要你的帮助,

目前,当我点击重命名'按钮,一切运行正常,但我想添加功能,这样不仅是输入框内LI的原始文本值,而且还自动生成文本(突出显示),导致下面的图片:

enter image description here

这是小提琴:http://jsfiddle.net/nc4pow56/1/

有问题的代码

$(function(){
    $('#colors li').click(fn);

    $('button').click(fn);

    function fn(e){
    var el = $('li.active');
    if(e.target.type != "button"){
            el.removeClass('active');
            $(e.target).addClass('active');
    }else{  
        var txt = el.text(); 
        var newEl = $("<input>");
        newEl.blur(function(){
            el.html(newEl.val());       
        });
        newEl.val(txt);
        el.html(newEl);  
        newEl.focus();
    }     
    }   
})();

2 个答案:

答案 0 :(得分:1)

newEl.focus()替换为newEl[0].select();demo)。

答案 1 :(得分:1)

试试这个newEl.focus().select()

完整代码:

$(function(){
    $('#colors li').click(fn);

    $('button').click(fn);

    function fn(e){
    var el = $('li.active');
    if(e.target.type != "button"){
            el.removeClass('active');
            $(e.target).addClass('active');
    }else{  
        var txt = el.text(); 
        var newEl = $("<input>");
        newEl.blur(function(){
            el.html(newEl.val());       
        });
        newEl.val(txt);
        el.html(newEl);  
        newEl.focus().select();
    }     
    }   
})();

希望这有帮助