jQuery и прототип не работают вместе с Array.prototype.reverse - PullRequest
2 голосов
/ 14 ноября 2011

Я использую prototype.js и jquery вместе и получаю это сообщение об ошибке

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

Я звонил jQuery.noConflict до

Я использую jQuery.fn.reverse = [].reverse;, чтобы иметь функцию реверса в коллекции jQuery

Ответы [ 2 ]

1 голос
/ 14 ноября 2011

прототип перезаписывает собственную Array.protoype.reverse функцию и сохраняет оригинал в 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;
1 голос
/ 14 ноября 2011

Если вы используете jQuery в режиме noconflict, вам придется добавить функцию реверса к

jQuery.fn.reverse
...