簡體   English   中英

使用onclick時,coffeescript中的變量值不變

[英]Variable's value doesn't change in coffeescript when using onclick

我有以下Coffeescript代碼:

for name, data of statistics
    row = document.createElement 'tr'
    row.onclick = ->
        alert name

但是,當我編譯並運行它時(在大型網頁中),無論單擊什么行,它都會發出相同的名稱警報。 似乎在記住該變量,就好像它是常量一樣。

我究竟做錯了什么?

編輯:

我已經發現了這個問題,但是我不確定該如何解決:在循環結束之前,Javascript / Coffeescript不會評估'name'變量。

您正在定義(並分配給行的onclick屬性)的函數都可以訪問該函數(名稱)之外的同一變量。 在循環的最后,名稱具有一個值(如您所述,循環中的最后一項),因此每個onclick函數都會提醒該值。

您可以通過將“名稱”綁定到不變的值來解決此問題。 這個問題提出了一個解決方案。 這個問題有一些有用的背景,值得一讀。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM