EasyUI: draggable() 在被调用时不初始化

EasyUI: draggable() doesn't initialize when being called

每次动态创建新的 HTML 元素时,我都试图调用 EasyUI 的 draggable。我有这样的 draggable 方法:

function initializedrag() {
    console.log("initializedrag called")
    $(".item").draggable({
        revert:true,
        proxy:'clone',
        onStartDrag:function(){
            $(this).draggable('options').cursor = "not-allowed";
            $(this).draggable('proxy').css('z-index',3);
        },
        onStopDrag:function(){
            $(this).draggable('options').cursor="move";
        }
    });
    console.log("end of initializedrag")
}  

然后我使用 load 加载一个新的 html 站点,该站点包含 div 以及一些 li 项目和 a 标签class of .item,像这样,当页面准备就绪时:

$(function() {
    console.log("ready");
    $("#shop").load("shopcontent/cat1.html");
    initializedrag();

    ...
});

通过 console.logs,它可以很好地调用函数,但是,拖动功能实际上并没有起作用。当我有一个元素已经在页面上时,draggable 和页面加载时的 draggable 完全相同。但是,每当我调用 initializedrag 函数时,我都需要它工作。
这是怎么回事?

已修复! 这真的很简单,我只是将 initializedrag() 包含在一个函数中,该函数在加载内容时被调用! 所以而不是:

$("#shop").load("shopcontent/cat1.html");
initializedrag();

我做到了:

$("#shop").load("shopcontent/cat1.html", function() {
    initializedrag();
});

这很奇怪,因为我昨天把 initializedrag() 的内容放在一个函数中,就像上面一样,但它没有工作:)