[問題] JQuery事件的設定

看板Web_Design作者 (no anonymous)時間8年前 (2017/03/25 21:22), 編輯推噓1(103)
留言4則, 1人參與, 最新討論串1/2 (看更多)
我在stackoverflow上看到一個範例: http://bit.ly/2nTLOgD 裡面有這麼一段code: function generate_handler( j ) { return function(event) { switchBanners(j, true); }; } for(var i = 1; i <= totalBanners; i++){ $('#slider-' + i).click( generate_handler( i ) ); } 這段code我自己實驗的結果 是可以正常執行的 但我看了網頁的解釋 還是不懂為什麼寫在click()內的generate_handler( i ) 是可以在迴圈執行時就被執行 而不會等到事件發生時才執行 看起來是跟變數的有效範圍有關 但不知道具體的原因 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.160.99.247 ※ 文章網址: https://www.ptt.cc/bbs/Web_Design/M.1490448147.A.B2F.html

03/25 22:10, , 1F
和變數無關啊,會先執行generate_handler就純粹是他是一個
03/25 22:10, 1F

03/25 22:11, , 2F
function,是 function(event) {switchBanners();}這個才
03/25 22:11, 2F

03/25 22:11, , 3F
會在 click 時執行
03/25 22:11, 3F

03/25 22:13, , 4F
你把執行一個function和定義一個function弄混了
03/25 22:13, 4F
文章代碼(AID): #1OrcyJil (Web_Design)
討論串 (同標題文章)
文章代碼(AID): #1OrcyJil (Web_Design)