Drupal 7 & jQuery - знак долара


18

Якщо я не планую використовувати будь-які бібліотеки JS, окрім jQuery, чи є якась причина потребувати виклику Drupal на jQuery.noConflict (), який видаляє $ як псевдонім для jQuery?

Якщо припустити, що не потрібно видаляти псевдонім $, чи є спосіб я його повернути універсально, не завжди вкладаючи код jQuery (функція ($) {...})?

Відповіді:


11

Я придумав таке рішення:

У верхній частині першого файлу JS, який я включаю в свою власну тему, я просто розміщую такий рядок:

$ = jQuery;

Готово :)


Лол, дякую! Я намагався з'ясувати, чому jQuery визначений, але $ні. Ми повинні перетворити цей фрагмент в модуль: D
CamelBlues

зробити цеvar $ = jQuery;
commonpike

6

Ні, ти не можеш (Ну, мабуть, ти міг, але не повинен).

Можливо, в якийсь момент ваш модуль буде використаний в іншому проекті на іншому веб-сайті, і тоді цей сайт використовуватиме іншу бібліотеку JS (Пам'ятайте, що кожен друкований модуль, який ви пишете, автоматично GPL, і ваш клієнт може використовувати його будь-яким способом).

Не так складно додати ці два рядки до кожного js-файлу :)


Я згоден; заради сумісності краще не використовувати $ як псевдонім для jQuery в Drupal, а завжди обертати код JavaScript за допомогою jQuery з (function($){…}).
kiamlaluno

Тоді було б непросто просто знайти і замінити, щоб перетворити всі $ на jQuery в моєму модулі.
maxedison

@maxedison Що відбувається, коли змішується PHP з JavaScript? Використовувати знаки долара в текстових рядках, якими маніпулює JavaScript?

1
Ви повністю проігнорували, що "припускає запитувач". Це дійсне запитання і перешкода, особливо під час вбудовування сторонніх плагінів - вам потрібно відредагувати всі ці файли, щоб вони працювали без $, і потрібно робити це кожного оновлення. Знайти та замінити не працює і з більш складними плагінами, оскільки вони можуть вимагати чогось глобального масштабу. Потрібно виправити tbh.
червоний

Я намагаюся ввести в Інтернет фразу: "Щоразу, коли ви використовуєте $ (), Бог вбиває кошеня". Будь ласка - подумайте про кошенят.
aendrew

0

Це також може бути можливим рішенням, якщо ви схильні використовувати модулі для таких питань.

jQuery долар

Цей модуль дозволяє розробникам використовувати $ для доступу до бібліотеки jQuery, замість того, щоб явно викликати jQuery або використовувати спеціальні закриття в Drupal 7. Все, що вам потрібно зробити, це ввімкнути його.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.