我有一个 div 容器。如果用户单击此 div 容器,则将其替换为输入框。
如果用户单击输入框以外的页面上的任何其他位置,那么我希望再次显示以前的 div。
这就是我到目前为止所做的。这只能正常工作一次。这是javascript代码:
$(document).ready(function() {
$(".new-section").click(function(event) {
$(this).replaceWith('<div class="span8 offset1 create-section"><input type="text" placeholder="Enter the title of the section"></div>');
event.stopPropagation();
});
$(".create-section").click(function(event) {
event.stopPropagation();
});
$(document).click(function(event) {
$(".create-section").replaceWith('<div class="span8 offset1 new-section"><p>Click to add a new section</p></div>');
});
});
这是 HTML 代码:
<div class="span8 offset1 new-section">
<p>
Click to add a new section
</p>
</div>
用div替换输入后,再点击div就不会再带输入框了。似乎点击事件只触发一次。基本上我想要的是:
1. 用户点击 div
2. 用输入替换
3. 用户在输入外点击
4. 用 div 替换输入
5. 用户再次点击 div 输入框又回来了。
循环重复。到目前为止,我只成功地让它工作了一次。知道我做错了什么吗?
编辑:如果用户单击 . 仅当用户单击网页中的其他任何位置(除了 )时,应该再次显示 。换句话说,在 和 元素之间切换。