【发布时间】:2013-06-28 02:09:27
【问题描述】:
我有这个 jsFiddle:http://jsfiddle.net/4wyDA/1/
我已将其设置为当您单击表格单元格时,它会向其中添加一个文本框,但我遇到的问题是,一旦您单击我拥有的表格单元格,您就无法编辑文本框中的文本试过e.stopPropagation(),但还是不行。
这是应该发生的事情:1)有人点击表格单元格,所有其他具有输入/文本区域的单元格都应该删除输入/文本区域并将文本放回单元格(工作),2)单击单元格应使用单元格中的文本填充输入/文本区域(作品)。最后,用户应该能够单击按钮并编辑输入/文本区域中的文本(不起作用,它会继续运行第 1 步和第 2 步)。
$(".editable").click(function(e) {
$(".editable").each(function() {
if ($(this).has("input")) {
var v = $(this).children("input.input, textarea").val();
$(this).text(v);
}
});
var type = $(this).attr("data-type");
var val = $(this).text();
if (type === "text" || type === "date") {
str = '<input type="text" class="input" style="width: 100%;" value="' + val + '" /><br />';
}
str += '<input type="button" value="Save" />';
str += '<input type="button" value="Cancel" />';
$(this).html(str);
});
$(document).on("click", ".editable input", function(e){
e.stopPropagation();
});
【问题讨论】:
-
当事件已经冒泡到文档中时,
e.stopPropagation();什么都不做。 -
我明白了,您的问题是保存和取消按钮不起作用,对吗?
-
@BradM 那么,我该怎么办?
-
@Derek 不,我无法编辑显示的文本字段中的文本
-
如果您突出显示文本,它可以工作,但如果我只是尝试点击,我就会看到问题。
标签: javascript jquery