在我的项目中,我必须使用两个 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;
});
})(窗口,文档);