Co je a jak používat metodu jQuery on ()

Obsah

jQuery je knihovna Javascript, která umožňuje zjednodušit způsob interakce s dokumenty HTML, manipulovat se stromem DOM, zpracovávat události, vyvíjet animace a přidávat interakce s touto technikou AJAX na webové stránky.
Od verze 1.7 jQuery máme metodu on (), která nám nabízí všechny potřebné funkce pro správu událostí. Díky této metodě již nepotřebujeme starý bind (), live () nebo delegate (), ale nepotřebujeme ani blur (), focus (), click (), hover () a další.
Stejně jako tam je on (), máme jeho opak, off (), který odstraní události přiřazené pomocí on ().
Uvidíme sérii příkladů, abychom lépe porozuměli metodě on ().
Předpokládejme, že chceme provést funkci po kliknutí na tlačítko:
 (funkce () {$ ('tlačítko'). klikněte (funkce () {// kód ke spuštění});}) ();

Je to, jako bychom to tradičně dělali pomocí kliknutí (). Pokud se ale podíváme na kód jQuery, uvidíme, že se ve skutečnosti děje volání metody on (), takže nejrychlejší je udělat:
 (function () {$ ('button'). on ('click', function () {// code to execute});}) ();

Toto je nejpřímější trasa. A totéž pro jiné metody, jako je change (), hover (), mouseenter () atd … (vlastně hover () to, co dělá, je volání mouseenter () a mouseleave (), které zase volají metodu on ()
Podívejme se na jQuery. Pokud si stáhneme verzi 1.7 nebo vyšší a podíváme se na její kód, uvidíme následující:
 jQuery.each (("rozostření zaostření zaostření při načtení zaostření změna velikosti posouvání vyložení kliknutí dblclick mouseown mouseup myš vyjmutí myši přes mouseout mouseenter mouseleave změna vybrat odeslat keydown keypress chyba při zadávání kontextové nabídky"). split (""), f funkce (i, jméno) {// Zpracování vazby událostí jQuery.fn [název] = funkce (data, fn) {if (fn == null) {fn = data; data = null;} návrat argumentů. Délka -> 0? This.on (název, null, data, fn): this.trigger (jméno);};

Odtud nás zajímá pouze to, že metody „rozostření, zaostření, zaostření, zaostření, načtení, změna velikosti, posouvání, uvolnění, kliknutí, dblclick, mousedown, mouseup, mousemove, mouseover, mouseout, mouseenter, mouseleave, change, select, odeslat, keydown, keypress, keyup, error a kontextové menu "na konci vše končí" this.on (name, null, data, fn) ".
bind (), live () a delegate ()
V minulosti se také dělalo:
 (funkce () {$ ('tlačítko'). bind ('kliknutí', funkce () {// kód, který se spustí po kliknutí na tlačítko});}) ();

Nebo pokud bychom chtěli, aby událost fungovala i po přidání nových prvků „tlačítka“ do dokumentu, použili bychom metodu live ():
 (funkce () {$ ('tlačítko'). live ('kliknutí', funkce () {// kód, který se spustí po kliknutí na tlačítko});}) ();

Následně jQuery představil „delegate ()“, což nám umožnilo přiřadit událost do kontextu. Pokud je například tlačítko (nebo bude, bude -li přidáno později) uvnitř div s třídou „kontejner“:
 (funkce () {$ ('div.container'). delegát ('tlačítko', 'kliknutí', funkce () {// kód, který se spustí po kliknutí na tlačítko});}) ();

Ale stejně jako u předchozích, oba bind (), live () nebo delegate () vše, co dělají, je zavolat metodu on ().Líbil se vám tento návod a pomohl mu?Autora můžete odměnit stisknutím tohoto tlačítka, čímž mu dáte kladný bod
wave wave wave wave wave