有一個按鈕(實際上他們中的很多),它有一個事件處理程序:記得之前的原始狀態「單擊」
el.onclick = function(){
if(this.className.indexOf("minimized") != -1){
this.firstChild.nodeValue = 'turn back';
this.className = this.className.replace("minimized", 'expanded');
}
else if(this.className.indexOf("expanded") != -1){
this.firstChild.nodeValue = 'what was there before the first click';
this.className = this.className.replace("expanded", 'minimized');
}
}
處理器改變了按鈕的狀態。
在第一次點擊當前按鈕之前記住文本節點的標準方式(模式),並在第二次點擊(同一按鈕上)時返回它?
你還記得JavaScript變量中的文本節點,而不是用於存儲信息HTML元素嗎?
沒有使用全局變量。
'this.originalText'變量不能在兩個onclick調用之間存儲信息。 – Kalinin 2010-09-22 12:53:54
@Kalinin - 當然,在這種情況下,'this'是你點擊的元素,*這是它存儲文本的地方。下面是它的工作演示:http://jsfiddle.net/nick_craver/KrFuX/ – 2010-09-22 13:01:07
你是對的,解決方案的工作原理。 – Kalinin 2010-09-22 13:15:46