【发布时间】:2017-08-31 15:54:37
【问题描述】:
我需要你的帮助。我正在尝试添加让用户能够通过单击 LI 元素来实时编辑 UL LI 列表的功能。然后,点击 LI 元素后,该元素将变为输入框的元素,并带有 LI 的当前文本值。
然后,当用户单击 LI 元素时,输入框消失,并且 LI 元素以新更新的值返回到其正常状态。
我正在尝试完成上述操作,但是,对于我的代码的当前状态,它只是添加了另一个框,实际上并不允许我在其中单击以添加新值。而且,当我单击一个新的 LI 元素时,它只会不断添加另一个框,依此类推。
这是一个小提琴: https://jsfiddle.net/0o0n8rea/
这是有问题的代码:
window.onload = function() {
$("#refdocs_list li").click(function(){
$(this).html('<input type="text" value='+ $(this).text() +'>').focus()
});
$("#refdocs_list li").focusout(function(){
});
}
这是 HTML 标记:
<div class="field_outline" style="background: #FFF; min-height: 75px; max-height: 300px; overflow-y: auto;">
<ul id="refdocs_list" style="list-style-type: none; margin: 0; padding: 3px 0px 3px 3px;">
<li>test1</li>
<li>test2</li>
<li>test3</li>
</ul>
</div>
【问题讨论】:
标签: javascript jquery html html-lists