看板 Ajax 關於我們 聯絡資訊
嗯..這個情形有點難形容.. 簡單的說,就是要把一個函式A丟給一個函式B 而函式B在觸發底下的一個事件時,把函式裡物件中的參數傳遞出去給函式A用 function funcB(param){ param.text = ... param.item = ... element = document.getElementByID('trigger); element.click = param.run } function funcA(){ 這裡要如何取得funcB中 param這個物件呢? } funcB({'run':funcA}); -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.39.168.173
TonyQ:他們目前沒有關係,綁個關係給他不就好了。 11/23 18:43
s25g5d4:.click = function (param) { param.run(param); }(param) 11/23 18:55
s25g5d4:不對...以上請無視 11/23 18:55
s25g5d4:apply或call? 11/23 18:56
TonyQ:apply或call 甚至是 param.run.param=param 都可以. 11/23 20:04
TonyQ:重點就是給他們一個關係~ 11/23 20:04
tomin:若有解請貼一下解法 funcB.call(funcA)? 然後? 11/23 20:49
s25g5d4:param.run.param應該是比較簡單的解法吧 11/23 22:26
TonyQ:我個人最喜歡這個 http://jsfiddle.net/4DYK2/2/ 11/23 22:28
TonyQ:大家各自負責自己的事情比較好,不然一多就亂了 11/23 22:28
s25g5d4:阿...科科 我上面寫的多了括號 就直接執行funcA了 11/23 22:30
TonyQ:param.run.param 或者 param.run.prototype.param 是走 pro 11/23 22:31
TonyQ:totype 11/23 22:31
TonyQ:http://jsfiddle.net/4DYK2/3/ 11/23 22:31
TonyQ:call 或 apply ,不過基本上除非funcA跟funcB名稱跟它的參數 11/23 22:33
TonyQ:夠像 delegater ,不然我實在不建議這樣用。 11/23 22:34
TonyQ:http://jsfiddle.net/4DYK2/4/ 11/23 22:34
TonyQ:有時候實在不是不貼解法,是看到問題覺得這個問題不是它真正 11/23 22:36
TonyQ:想問的問題,所以才不寫解,寫出來一方面是瞎猜不見得對,另 11/23 22:36
TonyQ:方面則是在這種狀況沒有任何建議解可言。 11/23 22:37
tomin:獲益良多 只是param傳來傳去 看了有點暈XD 11/23 23:55
JYHuang:JavaScript的用法還真多..又上了一課.. 11/24 09:19
JYHuang:感謝TonyQ跟s25g5d4 11/24 09:19