在ie

2012-08-29 35 views
0

交換兩個'onclicks'我想改變兩個元素的onclicks。在Firefox這個代碼做它應該如何:在ie

var tmpButton = button1.onclick; 
button1.setAttribute('onclick', button2.onclick); 
button2.setAttribute('onclick', tmpButton); 

但我怎麼能在IE中實現此代碼?

+0

您是否嘗試過使用簡單的'button1.onclick = button2.onclick'? setAttribute方法不是100%跨瀏覽器安全的。 – slebetman

+0

不幸的不是!我試過了,但失敗了! – user1632261

+0

它的工作原理。我剛剛在IE6,IE7和IE8中測試過。如果它打破了你的話,那麼你的錯誤很可能是在其他地方。 – slebetman

回答

2

下應在兩個瀏覽器的工作:

var tmpButton = button1.onclick; 
button1.onclick = button2.onclick; 
button2.onclick = tmpButton; 

setAttribute方法不是100%跨平臺的安全。 Quirksmode說,IE執行setAttribute不完整:

IE5-7不設置樣式,當你試圖將它們刪除事件。

注:此工作示例:http://jsfiddle.net/slebetman/RHHzc/

+0

我試過了,但如果失敗後交換的元素沒有onclick屬性,所以onclick事件不可用... – user1632261

+0

適用於我。我檢查了IE6,7和8:http://jsfiddle.net/slebetman/RHHzc/ – slebetman

+0

好吧,它看起來如果我想改變按鈕之一,而不是第三個按鈕'onclicks'? – user1632261