使用setAttributes動態新增事件
- 2008-11-29
- 14300
- 0
這鬼問題搞了demo三小時,最後是因為加班太晚先回家,靜下心來才找到解法的,所以一定要紀錄一下,免得又被玩一次...
先來說明一下原因,demo的需求是首先利用.net的
Attributes("onkeydown") = xxx;
來為TextBox動態加上onkeydown的事件,然後在經由這事件的某各值去給予另外一個TextBox的onkeydown事件,所以就需要在動態給的事件中再加事件,因此demo在MSN上詢問了小雲cloudio經由它介紹了setAttribute()這屬性,於是就開始了demo鬼打牆的三小時了,其中的過程就不說了直接來說後來demo回家後找到了此網站http://www.hccar.com/Content,2007,12,6,49.aspx仔細的看了一下他的說明原來
這裡利用setAttribute指定é的onclick屬性,簡單,很好理解。 但是不支持IE瀏覽器, IE瀏覽器並不是不支持setAttribute這個函數,而是不支持用setAttribute設置某些屬性,例如對象屬性,集合屬性,事件屬性,也就是說用setAttribute設置風格和onclick這些屬性在IE瀏覽器中是行不通的。
因為demo的新公司系統都是only IE所以看完以後覺得,很好我那三小時的青春還我好加在,下面還有解法於是依樣畫葫蘆,不成也難,終於是給我成功了。
C#
this.TextBox1.Attributes["onkeydown"] = "alert('123'); document.getElementById('" + this.TextBox2.ClientID + "').onkeydown= function () { alert('This is a test!'); }";
VB.NET
Me.TextBox1.Attributes("onkeydown") = "alert('123'); document.getElementById('" & Me.TextBox2.ClientID & "').onkeydown= function () { alert('This is a test!'); }"
以上就留給有緣人吧....別再像我一樣鬼打牆了
回應討論