jQuery和prototype不能与Array.prototype.reverse一起工作

jQuery and prototype don't work together with Array.prototype.reverse

本文关键字:prototype reverse 一起 Array 工作 不能 jQuery      更新时间:2023-09-26

我使用prototype.js和jquery在一起,我得到这个错误信息

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

我在

之前调用了jQuery.noConflict

我使用jQuery.fn.reverse = [].reverse;对jQuery集合有反向功能

如果你使用的是无冲突模式的jQuery,你必须在

中添加反向函数
jQuery.fn.reverse

prototype覆盖了原生的Array.protoype.reverse Function,将原来的Array.prototype._reverse保存。

这个片段考虑到了这一点

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;