有一个表我想逐行编辑,用户点击包含文本的单元格,它会更改为文本区域。
Textarea添加很好,但完全没有功能。
或者我正在尝试做的代码?
<div id="click"></div>
#click {
width: 200px;
height: 100px;
border: 1px solid black;
}
$(function(){
$('#click').click(function(){
$(this).html("<textarea></textarea>");
});
});
答案 0 :(得分:2)
focus
后,添加textarea
个事件。
$(function () {
$('#click').click(function () {
$(this).html("<textarea></textarea>").find("textarea").focus();
});
});
更新了小提琴:http://jsfiddle.net/na7sZ/2/
你也可以这样做:
$('#click').click(function () {
var textarea = $('<textarea/>');
$(this).html(textarea);
textarea.focus();
});
答案 1 :(得分:1)
这是因为你的textarea位于click
div内,所以点击textarea也是点击div,删除/创建一个新的textarea。
将此添加到您的代码:
$('#click').on('click', 'textarea', function(e){
e.stopPropagation()
})
它会阻止事件冒泡而不会重新创建textarea。