我正在尝试使用JQuery构建思维导图工具,并且我正在努力编辑div内容。如何使用JQuery单击编辑输入值
我写了一个函数,允许我将文本添加到(mind-container)div。它运作良好。 但是,一旦它被设置,它不会让我编辑文本。
这是一个活生生的例子:https://jsfiddle.net/TiOw87/c9wwe81d/5/
这里是我的jQuery函数:
$('.mind-container').click(function(){
$('input').addClass('active');
$('input').parent().find('input').focus();
$('input').keyup(function(event){
if(event.keyCode == 13){
var string = $(this).val();
$(this).removeClass('active');
if ($(this).has("p"))
{
$(this).parent().html("<p>"+ string +"</p>")
}
else
{
$(this).parent().append("<p>"+ string +"</p>")
}
}
})
});
而我的HTML:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<body>
<div id='board'>
<div class='mind-container' id='mind-master'>
<input type="text">
</div>
</div>
</body>
我想能够点击div并能够编辑已经在其中的输入文本的值。
感谢您的帮助
为什么不在你的div上使用'contenteditable'属性?在这里阅读http://html5demos.com/contenteditable,并在这里 https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Editable_content –