我尝试制作 > 1.input
在新图层中输入动态更新值 >
2. 单击图层,输入中显示的值可以再次编辑。
http://jsfiddle.net/8yZhf/3/
但我被困在2.,如果用于$('.input').off("focus")
避免添加新图层(不更新),
完成编辑focusout
后,如何恢复focus
像以前一样?还是有更好的主意?
var layer;
$('.input').focus(function(){
layer = $('.input_insert').children('div').length + 1;
$('<div class='+layer+'></div>').appendTo('.input_insert');// add layer
$('.input_insert').children('div').click(function(e){
$('.input').val($(e.target).html());
// $('.input').off("focus");
})
return layer;// return layer count for keyup, focusout
})
$('.input').keyup(function(e){
$('.'+layer).html(this.value);
})
$('.input').focusout(function(){
$("input[class='input']").val('');
if($('.'+layer).html() == ''){// check if empty
$('.'+layer).remove();
}
})
HTML
<input type="text" class="input">
<div class="input_insert"></div>// container