我需要你的帮助,
目前,当我点击重命名'按钮,一切运行正常,但我想添加功能,这样不仅是输入框内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();
}
}
})();
答案 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();
}
}
})();
希望这有帮助