原文:利用閉包解決for循環里onclick事件不能捕捉實時i值問題

問題描述 我們都知道,如果我們對於一組元素 相同的標簽 同時進行onclick事件處理的時候 在需要獲取到索引的時候 ,一般是寫一個for循環,但是onclick是一個異步調用的,所以會帶來一個問題,當我們觸發這個事件的時候,我們能獲取的i值是for完整執行完后i的值,而不能獲取到代碼順序里i的值 首先看一段代碼: 然后運行一下,當時作為一名天真的js初學者理所當然的認為分別點擊不同的額按鈕,會分 ...

2017-09-26 19:54 0 1802 推薦指數:

查看詳情

淺談js for循環輸出i為同一問題閉包解決

1、最近開發中遇到一個問題,為什么每次輸出都是5,而不是點擊每個p,就alert出對應的1,2,3,4,5。 此時點擊任意p彈出的都是5 出現原因:js事件處理器在線程空閑時間不會運行,導致最后運行的時候輸出的都是i最后的,即:5 2、解決辦法:使用閉包將變量i保護起來。 ...

Thu Nov 09 01:24:00 CST 2017 0 10218
閉包循環問題--for循環只顯示最后一個i

這段代碼主要用來操作2個div,哪個div被點,然后彈出框提示第i個div被點; 問題是:無論點哪個div,彈出框提示的始終都是第二個div被點了。 以上代碼中遇到了一個使用閉包循環時常見的問題,也就是說函數綁定之后,閉包抓取的變量被更新了。這意味着,每一個綁定的函數處理程序 ...

Fri Feb 24 23:37:00 CST 2017 0 4460
JavaScript利用閉包循環綁定事件

   我們經常在做前端面試題的時候,會遇到循環綁定事件后,輸出打印結果,很多人總是搞不清楚,今天借此機會跟大家梳理一下閉包相關作用。 1.首先我們舉一個簡單的例子。 html部分: <a href="#">首頁</a> <a href="#">作品< ...

Mon Jun 27 21:32:00 CST 2016 0 4499
嵌套div的onClick事件問題

嵌套div的onClick事件問題我在下面的代碼中的外層div中加了onClick事件,這樣當鼠標點擊這個div的時候就會跳轉了。但是我在圖片上加了一些其他效果,所以當鼠標點擊中間的img時不能觸發跳轉事件。 <div class="box" onClick="window.open ...

Wed Aug 10 18:20:00 CST 2016 0 5132
JavaScript--------閉包 取for循環i 【轉】

JavaScript閉包 取for循環i 【轉】 2011-10-10 10:20 415人閱讀 評論(1) 收藏 舉報 有個網友問了個問題,如下的html,為什么每次輸出都是5,而不是點擊每個p,就alert出對應的1,2,3,4,5 ...

Fri Oct 05 07:04:00 CST 2012 5 25306
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM