最近在改同事寫的網頁,其中有個動態產生droppable div的功能,程式如下:
function createDiv(id){
item = '<div id="div_' + id + '">';
$('#div_map').prepend( item).droppable({
drop : function(event, ui) {
$("#div_' + id).hide();
do something ....
}
});
}
畫面上還有幾個其他的droppable div,見鬼的是明明動態產生的div是隱藏的,但是當我把dragable的物件拉過去時,他永遠都會觸發我動態新增的最後一個div事件;假如這個func我跑五次,他就會跑到div_5去;這實在是不合理,已經hidden的東西為什麼可以droppable?
測試了好久,感覺應該是物件剛建立就被賦予這個事件出錯,於是改成:
function createDiv(id){
item = '<div id="div_' + id + '">';
$('# div_map ').prepend( item);
$('#chat_' + id).droppable({
drop : function(event, ui) {
$("#div_' + id).hide();
do something ....
}
});
}
問題解決!
function createDiv(id){
item = '<div id="div_' + id + '">';
$('#div_map').prepend( item).droppable({
drop : function(event, ui) {
$("#div_' + id).hide();
do something ....
}
});
}
畫面上還有幾個其他的droppable div,見鬼的是明明動態產生的div是隱藏的,但是當我把dragable的物件拉過去時,他永遠都會觸發我動態新增的最後一個div事件;假如這個func我跑五次,他就會跑到div_5去;這實在是不合理,已經hidden的東西為什麼可以droppable?
測試了好久,感覺應該是物件剛建立就被賦予這個事件出錯,於是改成:
function createDiv(id){
item = '<div id="div_' + id + '">';
$('# div_map ').prepend( item);
$('#chat_' + id).droppable({
drop : function(event, ui) {
$("#div_' + id).hide();
do something ....
}
});
}
問題解決!
沒有留言:
張貼留言