Зачем это нужно $ = jQuery - PullRequest
       13

Зачем это нужно $ = jQuery

1 голос
/ 15 августа 2011

Вопрос почти теоретический.Но в прошлый раз я обнаружил небольшую ошибку.Когда страница содержит дочерний фрейм, а родительский и дочерний фреймы используют один и тот же файл js, если я не установил $ = jQuery при запуске, функциональность этого файла js упала.Какой тут может быть трюк?

Спасибо!

Ответы [ 2 ]

3 голосов
/ 15 августа 2011

Если в любой части страницы есть другие библиотеки JavaScript, они могут использовать $. Mootools и Prototype оба используют $.

Если вы включите jQuery, а затем включите Prototype, то переменная $ будет перезаписана, поэтому выпришлось бы установить $ = jQuery, прежде чем любой код jQuery заработал бы:

<link rel="stylesheet" href="jQuery.js" />
<link rel="stylesheet" href="prototype.js" />
<script>$ = jQuery</script>

Точно так же, как говорит @Guffa, если бы вы вызывали noConflict везде, где бы он не сбрасывал переменную $.

В идеале я не думаю, что вам следует использовать переменную $, так как это может вызвать проблемы.Просто сделайте что-то вроде:

jQuery.noConflict();
var jQ = jQuery;

И затем используйте переменную jQ, как если бы вы имели $.Тогда у вас не будет конфликтов.

3 голосов
/ 15 августа 2011

Это не нужно, если вы не удалили ссылку из переменной $.

Проверьте, используете ли вы где-нибудь метод noConflict , чтобы отделить jQuery от переменной $ или использовать что-то еще (например, функцию) с именем $.

...