- window.onload = function() {
- // 加載的時候就被初始化,此處的this是指id爲oldDiv的div
- document.getElementById("divElement").ondblclick = function() {
- toReplace(this)
- }
- }
-
- // 此函數功能是新建一個input元素替換div
- //當input元素失去焦點時又變回原來的div
- toReplace = function(divElement) {
- // 建立一個input元素
- var inputElement = document.createElement("input");
- // 把obj裏面的元素以及文本內容賦值給新建的inputElement
- inputElement.value = divElement.innerHTML;
-
- // 用新建的inputElement代替原來的oldDivElement元素
- divElement.parentNode.replaceChild(inputElement, divElement);
- // 當inputElement失去焦點時觸發下面函數,使得input變成div
- inputElement.onblur = function() {
- //把input的值交給原來的div
- divElement.innerHTML = inputElement.value;
- //用原來的div從新替換inputElement
- inputElement.parentNode.replaceChild(divElement, inputElement);
- }
- }
<div id="divElement">雙擊文字實現可編輯狀態</div>函數
注:當想控制某一個div實現該函數時能夠實現雙擊事件ondblclickthis
好比<div id="someDiv" ondblclick="toReplace(this)">雙擊文字實現可編輯狀態</div>spa