【问题标题】:jQuery and prototype don't work together with Array.prototype.reversejQuery 和原型不能与 Array.prototype.reverse 一起使用
【发布时间】:2011-12-28 12:52:19
【问题描述】:

我同时使用prototype.js 和jquery,我得到这个错误信息

Uncaught TypeError: Object [object Object] has no method '_reverse' (Chrome)

我之前打电话给jQuery.noConflict

我正在使用jQuery.fn.reverse = [].reverse; 对 jQuery 集合进行反向功能

【问题讨论】:

  • 如果你已经有了 jQuery,为什么还要使用原型?
  • 我在这个网站上使用了typo3,一个扩展依赖于原型

标签: javascript jquery prototypejs javascript-framework conflict


【解决方案1】:

prototype 会覆盖原生的Array.protoype.reverse 函数,并将原来的保存在Array.prototype._reverse 中。

这个 sn-p 考虑到了

if (typeof []._reverse == 'undefined') {
    $.fn.reverse = Array.prototype.reverse;
} else {
    $.fn.reverse = Array.prototype._reverse;
}

老错解决办法

// for compatibility with prototype.js
if (![]._reverse) {
  []._reverse = [].reverse;
}
jQuery.fn.reverse = [].reverse;

【讨论】:

    【解决方案2】:

    如果您在无冲突模式下使用 jQuery,则必须将反向函数添加到

    jQuery.fn.reverse
    

    【讨论】:

    • 感谢您的回答,但我想自己回答这个问题:) 只是检查我是否正确
    • 你是对的,但这不是问题所在。 $.fn 在具有本地 $ var 的功能块内调用。不过我会改变我的问题
    猜你喜欢
    • 1970-01-01
    • 2011-01-01
    • 1970-01-01
    • 2015-09-04
    • 2021-05-09
    • 2020-01-28
    • 2018-01-23
    • 2016-03-23
    • 1970-01-01
    相关资源
    最近更新 更多