javascript - Mootools 使用 "Function"方法扩展 "extend"类,使 jQuery 不可用

标签 javascript jquery oop mootools mozilla

Mootools 扩展了“Function”类并在其中添加了一个名为“extend”的新方法。现在 jQuery 尝试使用 jQuery.prototype.extend 添加“扩展”功能。但是,由于“扩展”已经是 jQuery 对象的一部分(因为 jQuery 是 Function 类的对象),所以 jQuery.prototype.extend 不起作用。 有人在同时使用 Mootools 和 jQuery 时遇到过这种冲突吗?

更一般地说,如果扩展了像“函数或数组或对象”这样的原生类,我们是否有办法恢复到原始定义?

最佳答案

我能想到的唯一方法:

<script type="text/javascript">
    // copy the original function
    var ext = Function.prototype.extend;
    // remove it
    delete Function.prototype.extend;
</script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script> 

<script type="text/javascript">
    // Copy the jQuery version
    var jqext = jQuery.prototype.extend;
    // remove it (for sanity).
    delete jQuery.prototype.extend;

    // reassign the original function.
    Function.prototype.extend = ext;
    // remove the jQuery extend method (now the original Function.extend method)
    delete jQuery.prototype.extend;
    // reassign jQuery's original extend method.
    jQuery.prototype.extend = jqext;
</script>

关于javascript - Mootools 使用 "Function"方法扩展 "extend"类,使 jQuery 不可用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4130723/

相关文章:

javascript - 点击功能不适用于第二次点击

javascript - jquery 脚本中的toggle() 作用域

javascript - 嵌套数组与平面表的叉积

java - 如何使用spring的分层架构仍然遵循面向对象的结构?

c++ - Qt访问类中的mainWindow而不给它对象

javascript - 获取 mongodb 查询中项目的索引

javascript - 是什么导致了 "jqGrid is not a function "错误?

Jquery 没有获得正确的屏幕尺寸

javascript - 使用 javascript 或 Jquery 从 iFrame 重定向

c++ - 管理事件 : pointer or instance? 的传播