先看看標準的錯誤方式。
for (...) { var fKey = ...; var friend = new lime.Sprite()...; $(friend.getDeepestDomElement()).click(function(){ // 會得到很怪的 fKey // 所有的 click 都會得到同一個 fKey // 通常應該是迴圈中最後一個物件的 fKey alert(fKey); }); }再來就是正確的方式。
for (...) { var fKey = ...; var friend = new lime.Sprite()...; // friend 本身不是 Dom 物件,不能用來藏值 $(friend.getDeepestDomElement()).attr('fKey', fKey); $(friend.getDeepestDomElement()).click(function(){ // 在迴圈的 callback 裡讀值,一定得透過 this var fKey = $(this).attr('fKey'); alert(fKey); }); }---
沒有留言:
張貼留言