2014-10-30 55 views
0

我需要你的帮助,如何获取要选择的输入元素? (高亮显示文本)

目前,当我点击“重命名”按钮,一切运作良好,因为它应该,但我想补充的功能,例如,不仅是原来的文本值输入框里面的李,但也自动使文本(高亮),导致下面的图片:

enter image description here

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

问题

代码210
$(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(); 
    }  
    } 
})(); 

回答

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(); 
    }  
    } 
})(); 

希望这有助于

+0

我的眼睛没有的东西那么明显回升。有时你只需要一组新的眼睛就可以快速完成一次。非常感谢! – BobbyJones 2014-10-30 17:12:36

+0

是的,我的朋友,那是编程的味道:) – 2014-10-30 17:17:13

1

newEl.focus()替换为​​(demo)。