2012-03-13 43 views
0

我有一段代碼允許將字母拖動到白色正方形上,並且我有一個按字母順序對它們進行排序的函數。拖拽顯示中的字母后排序圖像功能不起作用

我的問題是,執行sort()函數的按鈕不起作用:當我拖動圖像時,我想單擊按鈕並進行排序。但是,當我點擊按鈕進行排序時,沒有任何反應。

這是代碼:

$(function sort(){ 
    var order = ['a', 'b', 'c', 'd','e','f', 'g','h']; 

    $('img').parent().each(function(x) { 
     $('#'+order[x]).appendTo($(this)); 
    }); 
}); 

function drag(ev) { 
    ev.dataTransfer.setData("Text", ev.target.id); 
} 
function drop(ev) { 
    var id = ev.dataTransfer.getData("Text"); 
    if (!$(ev.currentTarget).find("img")[0]) 
     ev.target.appendChild(document.getElementById(id)); 
    ev.preventDefault(); 
} 
function allowDrop(ev) { 
    ev.preventDefault(); 
} 

http://jsfiddle.net/gkKHN/3/

+1

我建議你將你的處理程序轉換爲JS而不是將它們放在元素上 – Joseph 2012-03-13 03:35:37

回答

2

http://jsfiddle.net/gkKHN/6/

只是移動sort()$()之外,因爲你是剛剛宣佈的功能,並沒有做任何事情,當DOM加載

+0

非常感謝! – 2012-03-13 03:50:34