2012-03-19 14 views
0

我有多個可投放區域..阻力傳遞變量事件和下降

for(j=0; j<2; j++) { 
$('#dropElement' + j).droppable({   
     drop : handleElementDrop 
    }); 

} 

function handleElementDrop(event, ui) { 
} 

如何傳遞「J」到事件handleElementDrop,這樣我可以知道哪個區域元降至。 。?

回答

1

我覺得你可以做

drop: function(event, ui) { 
     alert(this.id); 
    } 

找到可放開(所以你現在一直用它投擲的)

這裏小提琴http://jsfiddle.net/r5rzX/

+0

感謝尼古拉:) – user1184100 2012-03-19 11:58:58

0

您可以使用this內的id handleElementDrop獲取被刪除的。我應該將ID存儲在數據屬性中。但是,不管這會爲你工作:

for(j=0; j<2; j++) { 
    $('#dropElement' + j).droppable({   
     drop : handleElementDrop 
    }); 

} 

function handleElementDrop(event, ui) { 
    alert(this."id".replace("dropElement","")) 
} 

http://jsfiddle.net/Aspaq/

+0

沒有必要使用jQuery的一切,撥打電話到功能昂貴:使用'this.id'而不是'$(this).attr(「id」)' – 2012-03-19 12:01:46

+0

謝謝!我會更新 – 2012-03-19 12:04:21

1

您可以使用jQuery的數據()函數元素中傳輸任何數據(不只是integeres,甚至數組或對象)..

對於前:

for(j=0; j<2; j++) { 

    $('#dropElement' + j).data('mykey', myData); // set data 

    $('#dropElement' + j).droppable({   
     drop : handleElementDrop 
    }); 
} 

function handleElementDrop(event, ui) { 

    var myData = $(this).data('mykey'); // get data 

}