我有以下代码:
<div contentEditable="true">
Blah blah <a href="http://google.com">Google</a> Blah blah
</div>
Run Code Online (Sandbox Code Playgroud)
有没有办法使这个a可点击,不可编辑,而不移动该div之外的锚?
我正在尝试创建一个表单,其中字段会在飞行中更改.
从简单的文本开始,当有人点击此文本时,它会转换为可编辑的文本输入字段.当有人点击它时,它会变回不可编辑的文本.
我试了一下,但似乎没有正常工作.在前几次点击时工作正常,但随后它会丢失inputId并混合按钮.
这是html
<p id="firstElement" onclick="turnTextIntoInputField('firstElement');">First Element</p>
<p id="secondElement" onclick="turnTextIntoInputField('secondElement');">Second Element</p>
Run Code Online (Sandbox Code Playgroud)
这是JavaScript(使用jQuery).
我是JavaScript的新手,所以它可能不是最好的代码......
function turnTextIntoInputField(inputId)
{
console.log(inputId);
inputIdWithHash = "#"+inputId;
elementValue = $(inputIdWithHash).text();
$(inputIdWithHash).replaceWith('<input name="test" id="'+inputId+'" type="text" value="'+elementValue+'">');
$(document).click(function(event) {
if(!$(event.target).closest(inputIdWithHash).length) {
$(inputIdWithHash).replaceWith('<p id="'+inputId+'" onclick="turnTextIntoInputField(\''+inputId+'\')">'+elementValue+'</p>');
}
});
}
Run Code Online (Sandbox Code Playgroud)
以下是小提琴的实时示例https://jsfiddle.net/7jz510hg/
我会感激任何帮助因为它让我头疼...
<div contenteditable="true" id="d">
<span>Text to edit</span>
</div>
$("#d").draggable();
Run Code Online (Sandbox Code Playgroud)
我只能拖动这个div但是我怎么能编辑它(比如双击可编辑属性变为活动状态并且单击拖动变为活动状态)?
可能重复:
jQuery的最佳编辑插件是什么?
例如,单击跨度时,它将变为输入文本,当您在跨度外单击时,它将再次成为跨度,您可以编辑输入文本.因此,当您单击它时,您基本上会更改标记名称.
但你怎么能这样做?显示和隐藏跨度和输入文本看起来不是最好的解决方案..