我想創建一個node.js應用程序來在兩臺機器之間傳輸代碼。第一步是將代碼粘貼到文本區域,然後按Enter鍵。按下輸入鍵後,它會變成一個div或帶有代碼高亮顯示的<pre>
。焦點上的Textarea成爲DIV,當該div被點擊時,它會返回到textarea? jquery
我已經建立了溝通。讓我難住的部分是我如何將div轉回textarea。
如果我點擊textarea之外,它會變成一個div,這是一切都很好,但我不能得到第二部分的工作。
http://jsfiddle.net/GeJkU/1045/
HTML
<textarea id="chatText">123</textarea>
JS
$chatDiv = $('#chatDiv');
$chatText = $('#chatText');
$chatDivHtml = $chatDiv.val();
$chatTextHtml = $chatText.html();
function divClicked() {
var divReplace = $("<div>").attr("id", "chatDiv").text($chatTextHtml);
$chatText.replaceWith(divReplace);
divReplace.click(editableTextBlurred);
}
function editableTextBlurred() {
console.log("clicked");
var textReplace = $("<textarea />").attr("id", "chatText").val($chatDivHtml);
$chatDiv.replaceWith(textReplace);
$chatDiv.click(divClicked);
}
$(document).ready(function() {
$chatText.click(divClicked);
});
你永遠不更新新的內容變量... $ chatDivHtml和$ chatTextHtml加載時總是有初始值。 – epascarello
是的,我知道,但它甚至沒有取代原來的元素,也沒有想到價值。 – eveo
這是因爲您沒有將點擊附加到正確的元素。 – epascarello