【问题标题】:How do I get the input element to be selected? (text highlighted)如何获取要选择的输入元素? (文本突出显示)
【发布时间】:2014-12-26 20:06:30
【问题描述】:

我需要你的帮助,

目前,当我单击“重命名”按钮时,一切正常,但我想添加功能,以便不仅输入框内的 LI 的原始文本值,而且自动生成导致下图的文本(突出显示):

这里是小提琴: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();
    }     
    }   
})();

【问题讨论】:

    标签: javascript jquery select text input


    【解决方案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();
        }     
        }   
    })();
    

    希望对你有帮助

    【讨论】:

    • 我的眼睛没有注意到这么明显的东西。有时你只需要一双全新的眼睛来快速浏览一遍。非常感谢!
    • 是的,我的朋友,这就是编程的味道:)
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-02-22
      • 2011-06-05
      • 1970-01-01
      • 2016-05-06
      • 1970-01-01
      • 1970-01-01
      • 2010-11-30
      相关资源
      最近更新 更多