0

在我的项目中,我必须使用两个 JS 库 - jQuery (v1.7.1) 和 MooTools (v1.4.5)。我正在使用 jQuery.noConflict(); 一切正常……除了 jQuery 的拖动元素(jQuery UI 对话框)。有人知道在 jQuery 中修复此功能的方法吗?

我尝试在 jQuery 之前和之后加载 Mootools ......但没有成功。只有删除 Mootolls 才能修复拖动能力。

更新:MooTools 中的事件加载会导致 jQuery 拖动出现问题。这行:

(function (i, k) {
var l, f, e = [], c, b, d = k.createElement("div");
var g = function () {
    clearTimeout(b);
    if (l) {
        return;
    }
    Browser.loaded = l = true;
    k.removeListener("DOMContentLoaded", g).removeListener("readystatechange", a);
    k.fireEvent("domready");
    i.fireEvent("domready");
};
var a = function () {
    for (var m = e.length; m--;) {
        if (e[m]()) {
            g();
            return true;
        }
    }
    return false;
};
var j = function () {
    clearTimeout(b);
    if (!a()) {
        b = setTimeout(j, 10);
    }
};
k.addListener("DOMContentLoaded", g);
var h = function () {
    try {
        d.doScroll();
        return true;
    } catch (m) {
    }
    return false;
};
if (d.doScroll && !h()) {
    e.push(h);
    c = true;
}
if (k.readyState) {
    e.push(function () {
        var m = k.readyState;
        return(m == "loaded" || m == "complete");
    });
}
if ("onreadystatechange" in k) {
    k.addListener("readystatechange", a);
} else {
    c = true;
}
if (c) {
    j();
}
Element.Events.domready = {onAdd:function (m) {
    if (l) {
        m.call(this);
    }
}};
Element.Events.event= {base:"load", onAdd:function (m) {
    if (f && this == i) {
        m.call(this);
    }
}, condition:function () {
    if (this == i) {
        g();
        delete Element.Events.load;
    }
    return true;
}};
i.addEvent("load", function () {
    f = true;
});

})(窗口,文档);

4

0 回答 0