Re: [問題] Javascrip onClick參數

看板Ajax作者 (波卡Poka)時間15年前 (2010/05/02 20:10), 編輯推噓5(507)
留言12則, 3人參與, 最新討論串12/13 (看更多)
※ 引述《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

05/03 11:30, , 1F
FireBug可看到有()時,onclick=undefined
05/03 11:30, 1F

05/03 11:32, , 2F
   無()時,onclick=function(){xx()}
05/03 11:32, 2F

05/03 11:32, , 3F
沒對齊到Q_Q
05/03 11:32, 3F

05/03 11:36, , 4F
也可看到若有return值(true/false等) 會回傳給onclick
05/03 11:36, 4F

05/03 11:42, , 5F
return 函數; 就會是想要的結果:只在onclick執行。
05/03 11:42, 5F

05/03 11:45, , 6F
我發現我只是重覆你的話 orz
05/03 11:45, 6F

05/03 13:28, , 7F
XDDD
05/03 13:28, 7F

05/03 13:35, , 8F
XDDD弄懂就好了啊,之前也想過同樣的問題XD
05/03 13:35, 8F

05/03 13:39, , 9F
看完這篇你會發現JavaScript其實也是一個很完整的程式
05/03 13:39, 9F

05/03 13:40, , 10F
Mozilla重新介紹JavaScript:http://0rz.tw/xBdiP
05/03 13:40, 10F

05/03 13:43, , 11F
進階一些就去看ECMA-262
05/03 13:43, 11F

05/03 16:07, , 12F
謝謝 那網頁好物耶 而且寫好很久了
05/03 16:07, 12F
文章代碼(AID): #1BtMl4ef (Ajax)
文章代碼(AID): #1BtMl4ef (Ajax)