【发布时间】:2015-05-24 08:21:39
【问题描述】:
我是 javascript 和 jQuery 的新手。我正在编写以下代码来编辑我的网页的一部分。当我第一次单击#edit_case 但单击#cancel 后它返回我回来时,它工作得很好。 #edit_case 不起作用.. 这段代码有什么问题?
$("#edit_case").click(function(){
var oldHTML = $("#editable").html();
var newHTML;
newHTML = "<div class='panel-body' id='edit_fields'></div> <div class='panel-footer' id='footer-bottons'></div>"
$("#editable").html(newHTML);
$('#footer-bottons').html('<div class="text-right"><button class="btn btn-primary btn-sm" id="save">Save</button> <button class="btn btn-default btn-sm" id="cancel">Cancel</button></div>');
$("#cancel").click(function(){
$("#editable").html(oldHTML);
});
});
我的 HTML 标记如下:
<div class="panel panel-default" id="editable">
<div class="panel-body">
Drop-down code
<li><a id='edit_case'>Edit</a><li>
Panel-Body Code...
</div>
Panel footer
</div>
当我单击编辑时,会出现与 stackoverflow.com 上相同的文本输入字段。第一次,编辑链接工作正常,但当我取消编辑时,编辑和删除都不起作用。我认为单击事件没有发生,因为我也尝试使用警报('test')对其进行检查,并且单击#cancel 后它没有出现。这是解除绑定事件的问题吗?如果是,我将如何纠正?
【问题讨论】:
-
点击取消按钮后是否还有id为edit_case的元素?
-
这是什么意思:“让我回到领域之外”。另外,“#edit_case 不起作用.. 这段代码有什么问题?” 你还没有告诉我们它应该做什么,所以我们很难告诉你哪里出了问题用它。
-
感谢 cmets...我已经添加了更多详细信息..
-
@HassanSaqib 我的答案已更新。干杯!
标签: javascript jquery nested-function