我dblclick一個段落並調用一個函數來動態地用textarea替換它,以便我可以編輯段落文本。我捕捉段落的寬度和高度並傳遞文本和尺寸。無法使用jQuery設置寬度,高度爲<textarea>
$('article').on('dblclick','p', function(ev) {
var text = $(this).text(); // save the text
var dim = $(this).css(["width", "height"]);
$(this) // for the p element...
.empty() // wipe the p and it's text
.append(newTAInput(this, text, dim)); // append edited text
});
此函數創建textarea,設置它的文本和尺寸,並在textarea外單擊時返回已更改的文本。
function newTAInput(target, text, dim) {
var input = $('<textarea ></textarea>')
.val(text)
.attr(dim)
.css('font-family', 'Times New Roman')
.css('font-size', '16.37px')
.bind('blur', function() {
var value = $(this).val();
$(target).html(value);
});
return input;
}
它沒有發生,即使是昏暗與在.attr()函數正確的密鑰和值的普通對象。
看到完整的代碼中的jsfiddle:http://jsfiddle.net/tenrab/dYR4M/
你設置行和列,而不是高度和寬度? – adeneo