2017-06-02 70 views
0

我在for循環中附加了Javascript創建的元素。 我想要實現的是將不同的變量傳遞給每個元素的函數。onmouseenter - 每個新元素的動態函數變量

這是我的代碼:

var thumbnail_box = document.createElement("div"); 
thumbnail_box.onmouseenter = function(){show_new_attachement_toolbar(total_upload)}; 
thumbnail_box.onmouseleave = function(){hide_new_attachement_toolbar(total_upload)}; 

可變total_upload在每個循環結束時自動增加,然而,當加入的所有元素,該函數只觸發器的的最終值total_upload而不是每個元素的單獨值

回答

0

一個簡單的解決方法是將該代碼包裝在一個IIFE中:

(function(x) { 
    var thumbnail_box = document.createElement("div"); 
    thumbnail_box.onmouseenter = function() { show_new_attachement_toolbar(x) }; 
    thumbnail_box.onmouseleave = function() { hide_new_attachement_toolbar(x) }; 
})(total_upload); 

您可能需要閱讀this

+0

謝謝你,就像一個魅力和我讀的鏈接也是如此。 – Zaiat