Не удается расширить jQuery prototype

201
19 апреля 2017, 12:35
Object.defineProperty(jQuery.prototype, 'fname', {
    value: function() {
        ...
    }
});

При попытке вызвать jQuery('.class').fname() ругается: jQuery(...).fname is not a function. В чем может быть проблема? На том же jsfiddle все работает: https://jsfiddle.net/wqfddjy8/

Та же функция на других сайтах с той же версией jQuery работает нормально. Может ли это быть из-за конфликтов скриптов? Если да, то какие существуют пути решения проблемы? Сайт большой и сделан не мной, пока просмотрю все скрипты на возможность конфликта - уйдет довольно много времени.

Answer 1

Подключен ваш скрипт после jQuery? Если сайт большой, тем более на движке, проверьте, не подключается ли jQuery несколько раз, в том числе, после вашего скрипта. Попробуйте:

window.onload=function(){
Object.defineProperty(jQuery.prototype, 'fname', {
  value: function() {
    this.text('Text2');
  }
});
jQuery('span').fname();
}
READ ALSO
Стилизация таблицы

Стилизация таблицы

Нужно сделать годовое расписаниеСобытия необходимо размещать прямо на расписании

230
Как закрасить путь по линии?

Как закрасить путь по линии?

По умолчанию линия закрашивается просто как область слева направоА как намотать градиент на линию, чтобы начало было красным, а конец синим?

202
Не могу задать правильное поведение hover

Не могу задать правильное поведение hover

Всем приветПочти сделал рейтинг со звездами, как вдруг проблема с наведением по ним

233
Запретить увеличение кнопок

Запретить увеличение кнопок

Есть фиксированные кнопки при просмотре с мобильного, как запретить увеличение при зумировании?

233