Výhody použití Behaviors v Drupalu:
Příklad obecného jQuery:
$(document).ready(function () {
// Do some fancy stuff.
});Příklady použítí jQuery v Drupal 7:
A)
(function ($) {
// To understand behaviors, see https://drupal.org/node/756722#behaviors
Drupal.behaviors.my_custom_behavior = {
attach: function(context, settings) {
// Place your code here.
}
};
})(jQuery);B)
// JavaScript should be made compatible with libraries other than jQuery by // wrapping it with an "anonymous closure". See: // – https://drupal.org/node/1446420 // – http://www.adequatelygood.com/2010/3/JavaScript-Module-Pattern-In-Depth (function($, Drupal, window, document, undefined) { Drupal.behaviors.myModuleBehavior = { attach: function (context, settings) { $('input.myCustomBehavior', context).once('myCustomBehavior', function () { // Apply the myCustomBehaviour effect to the elements only once. }); } }; })(jQuery, Drupal, this, this.document);
Příklad předání proměnné z PHP do JavaSkriptu:
drupal_add_js(array('myTyxModule' => array('tax_rate' => '0.021')), 'setting');(function($) {
Drupal.behaviors.myTyxModule = {
attach: function (context, settings) {
// You can access the variable by using Drupal.settings.myTyxModule.tax_rate
alert(Drupal.settings.myTyxModule.tax_rate);
}
};
})(jQuery);Dokumentace:
Příklad použití jQuery – zobrazující se text Text... ve vyhledávacím poli:
scripts/obsahující soubory jquery.autofill.js a javascript.js (z přiložených souborů odstraňte příponu .txt).scripts[] = scripts/javascript.js scripts[] = scripts/jquery.autofill.js
| Příloha | Velikost |
|---|---|
| jquery.autofill.js.txt | 1.97 KB |
| javascript.js.txt | 157 bajtů |
Příklad použití jQuery – při přejetí myší zůstane blok chvíli zobrazen, při kliku na záhlaví zůstane zobrazen trvale, při opětovném kliku se skryje:
js/ obsahující soubor search_exposed_block.js (z přiloženéo souboru odstraňte příponu .txt).scripts[] = js/javascript.js scripts[] = js/jquery.autofill.js
libraries[search_exposed_block][name] = Toggle search exposed block libraries[search_exposed_block][description] = Toggle search exposed block libraries[search_exposed_block][js][0][file] = search_exposed_block.js libraries[search_exposed_block][js][0][options][weight] = -20
| Příloha | Velikost |
|---|---|
| search_exposed_block.js.txt | 1.59 KB |