2014-10-30 72 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)。

相關問題