顯示廣告
隱藏 ✕
看板 Programming
作者 Knuckles (站長 那克斯)
標題 Re: [JavaScript] getElementById
時間 2011年05月04日 Wed. PM 04:07:24


以下轉自 PTT #1BtMl4ef (Ajax) 

看板 Ajax
作者 j100002ben (波卡Poka)
標題 Re: [問題] Javascrip onClick參數
時間 Sun May  2 20:10:41 2010


※ 引述《tomin (Schrdinger's cat)》之銘言:
: 我做了一些測試。
: 發現:
: 1.加了括號()後,會在onload就執行,之後就不再執行,原因不明。
:  建議綁定事件時,不要加()。
: 2.用String沒有觸發eval。
: 結論:
: function無參數時,使用onclick=functionName
: function有參數時,使用onclick=function(){functionName(參數)}
其實,JavaScript的Function也是一種Data Type
所以,如果是onclick=functionName
他的意思就像變數一樣,右邊的東西給左邊的,當然資料(函數)就複製一份過去
如果你寫:onclick=functionName()
這個意思是把functionName的運算結果放到onclick裡面
當然如果你return的東西是函數那當然OK,不過通常你的functionName不會作這種事
所以你的onclick就會是一個Value(String)或是True/False
而onclick=function(){functionName()}
的意思是產生一個匿名函數指定給onclick
函數內容就是呼叫functionName()
所以這樣可以加入你想要加的參數。
用FireBug的HTML和DOM頁籤可以看到function的對應狀態。

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.122.165.144
tomin:FireBug可看到有()時,onclick=undefined1F 05/03 11:30
tomin:         無()時,onclick=function(){xx()}
tomin:沒對齊到Q_Q
tomin:也可看到若有return值(true/false等) 會回傳給onclick
tomin:return 函數; 就會是想要的結果:只在onclick執行。
tomin:我發現我只是重覆你的話 orz
No:XDDD7F 05/03 13:28
j100002ben:XDDD弄懂就好了啊,之前也想過同樣的問題XD8F 05/03 13:35
j100002ben:看完這篇你會發現JavaScript其實也是一個很完整的程式
j100002ben:Mozilla重新介紹JavaScript:http://0rz.tw/xBdiP
j100002ben:進階一些就去看ECMA-262
tomin:謝謝 那網頁好物耶 而且寫好很久了12F 05/03 16:07



--
※ 作者: Knuckles 時間: 2011-05-04 16:07:24 來自: 111-248-6-244.dynamic.hinet.net
※ 同主題文章:
※ 看板: Programming 文章推薦值: 2 目前人氣: 0 累積人氣: 423 
( ̄︶ ̄)b layzer, abc1231qa 說讚!
1樓 時間: 2011-05-04 22:17:34 (台灣)
  05-04 22:17 TW
說得好複雜   果然學程式的,邏輯要很好   Q_Q
2樓 時間: 2011-05-04 22:45:24 (台灣)
  05-04 22:45 TW
有看沒有懂推~
r)回覆 e)編輯 d)刪除 M)收藏 ^x)轉錄 同主題: =)首篇 [)上篇 ])下篇