MozTW 討論區 https://forum.moztw.org/ |
|
[求助]使用語法更改event監聽 https://forum.moztw.org/viewtopic.php?f=13&t=17613 |
第 1 頁 (共 1 頁) |
發表人: | legnaleurc [ 2007-02-12, 15:04 ] |
文章主題 : | [求助]使用語法更改event監聽 |
我有個物件如下: <input type="button" id="test" value="god" onClick=" aruiFunc() " /> 然後aruiFunc()會執行下面的東西: document.getElementById( 'test' ).getAttributeNode( 'value' ).value = 'dog'; document.getElementById( 'test' ).getAttributeNode( 'onClick' ).value = 'alert(\"teset\")'; 在Firefox和Opera底下正常作用 god有被改成dog 而onClick的動作也被改掉 但是IE下就只有第一行會作用 第二行的動作不會被改變 |
發表人: | 焦貓 [ 2007-02-12, 17:14 ] |
文章主題 : | |
這是爪哇script嗎?(要寫多載??) 是的話... 我的寫法是,多一層div <div id = test> <input type="button" value="god" onClick=" aruiFunc() "> </div> <script language="JavaScript"> function aruiFunc(name){ document.getElementById('test').innerHTML = '<input type=button value=dog onClick= aruiFunc("text")>'; //這行為測試用document.getElementById('test').innerHTML +=name; } </script> |
發表人: | legnaleurc [ 2007-02-12, 17:55 ] |
文章主題 : | |
我是用SPAN去包.... 不過為什麼IE明明抓得到value的屬性而且可以改 onClick就不能 應該都是一樣的東西吧 |
發表人: | 焦貓 [ 2007-02-12, 18:15 ] |
文章主題 : | |
我是覺得,ie應該是把onclick當作動作來看吧 當html載入時,動作就不能被修改了... |
發表人: | legnaleurc [ 2007-02-12, 18:37 ] |
文章主題 : | |
又是使用的DOM樹不一樣的問題嗎 這幾天快被IE搞死.... 要弄出一個通用的網頁還挺麻煩的 不過我還沒測過Safari |
發表人: | kourge [ 2007-02-12, 22:44 ] |
文章主題 : | |
legnaleurc 寫: 又是使用的DOM樹不一樣的問題嗎
這幾天快被IE搞死.... 要弄出一個通用的網頁還挺麻煩的 不過我還沒測過Safari 老兄啊,挑個 JavaScript library 來用用吧~ 要選哪個,jQuery 還是 Prototype?要靠純 JS 走 DOM 和玩 Ajax 就像在自己身上綁炸藥一樣XD |
發表人: | legnaleurc [ 2007-02-13, 10:04 ] |
文章主題 : | |
kourge 寫: 老兄啊,挑個 JavaScript library 來用用吧~
要選哪個,jQuery 還是 Prototype?要靠純 JS 走 DOM 和玩 Ajax 就像在自己身上綁炸藥一樣XD 因為我是新手啊(泣) 到目前為止都是用Notepad++手寫上去 可以指教一下詳細的狀況嗎? |
發表人: | kourge [ 2007-02-13, 14:27 ] |
文章主題 : | |
legnaleurc 寫: kourge 寫: 老兄啊,挑個 JavaScript library 來用用吧~ 要選哪個,jQuery 還是 Prototype?要靠純 JS 走 DOM 和玩 Ajax 就像在自己身上綁炸藥一樣XD 因為我是新手啊(泣) 到目前為止都是用Notepad++手寫上去 可以指教一下詳細的狀況嗎? 通常如果要做的事有: 1. 發 XHR 2. 走 DOM 3. 加 event 那就挑一個 js lib (如 jQuery 或 Prototype),include 進去: <script type="text/javascript" src="prototype.js"></script> 然後寫東西就容易多了... 像你原本舉的例子: 引言回覆: <input type="button" id="test" value="god" onClick=" aruiFunc() " />
然後aruiFunc()會執行下面的東西: document.getElementById( 'test' ).getAttributeNode( 'value' ).value = 'dog'; document.getElementById( 'test' ).getAttributeNode( 'onClick' ).value = 'alert("teset")'; 如果用 Prototype 就可以這樣寫: <input type="button" id="test" value="god" /> function aruiFunc() { $('test').value = 'dog'; //改值 $('test').stopObserving('click', aruiFunc); //原來的解除掉 $('test').observe('click', function(){alert('test');}); } $('test').observe('click', aruiFunc); 是有什麼特別的需要,要把 event handler 給換掉嗎? |
發表人: | legnaleurc [ 2007-02-13, 15:29 ] |
文章主題 : | |
kourge 寫: 通常如果要做的事有:
1. 發 XHR 2. 走 DOM 3. 加 event 那就挑一個 js lib (如 jQuery 或 Prototype),include 進去: <script type="text/javascript" src="prototype.js"></script> 然後寫東西就容易多了... 像你原本舉的例子: 如果用 Prototype 就可以這樣寫: <input type="button" id="test" value="god" /> function aruiFunc() { $('test').value = 'dog'; //改值 $('test').stopObserving('click', aruiFunc); //原來的解除掉 $('test').observe('click', function(){alert('test');}); } $('test').observe('click', aruiFunc); 是有什麼特別的需要,要把 event handler 給換掉嗎? 怎麼好像API一樣的東西..... 好吧,下次我會試試(我有預感又要翻一堆說明文件) 要換event只是我想省介面空間而已 每個動作都寫一個按鍵有點占空間 就是我之前問的地圖網站裡的東西 |
第 1 頁 (共 1 頁) | 所有顯示的時間為 UTC + 8 小時 |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |