/ / Mal by som použiť .on () alebo .click () na pripojenie obsluhy udalostí? - jquery

Mala by sa použiť funkcia .on () alebo .click () na pripojenie obsluhy udalosti? - jquery

Za predpokladu, že chcem pripojiť jednoduchý ovládač kliknutí k prvku, vždy som to urobil:

$("#mydiv").click(function() { ... });

Keď sa pozrieme na dokumenty JQuery, zdá sa to .on() je "odporúčaný" spôsob pripojenia obslužných programov udalostí a nahrádza ich .bind(), .delegate() a .live():

Od jQuery 1.7 poskytuje metóda .on () všetky požadované funkcie na pripojenie obslužných programov udalostí. Pomoc pri prevode zo starších jQuery metódy udalosti, pozri .bind (), .delegate () a .live ().

A v dokumente pre .click() hovorí:

Táto metóda je skratka pre .bind ("click", handler) v prvých dvoch variáciách a .trigger ("click") v treťom.

To z toho vyplýva .click() používa .bind() ktoré budú zrušené a nahradené .on(), správny? Alebo je to dôsledok .click() bude sa držať okolo, ale na nejakom mieste sa stane skratka pre .on("click")?

V podstate je moja otázka toto ... Pri písaní kódu JQuery dnes by som mal použiť:

Variant 1: $("#mydiv").click(function() { ... });

alebo:

Variant 2: $("#mydiv").on("click", function() { ... });

?

odpovede:

4 pre odpoveď č. 1

Osobne by som použil on() pre všetky viazania udalostí z jQuery 1.7+.

Znamená to, že neexistuje nejednoznačnosť medzi prvkami, ktoré sa pridávajú dynamicky a tými, ktoré sú k dispozícii na načítaní stránky.

Takisto, ako ste uviedli, click() (a iné skratky udalostí) on("event", function() { ... }); jQuery rovnako, takže šetrí krok v procese - nie že to samozrejme spôsobuje zrejmé rozdiely.

A nakoniec, on("click") čítaj lepšie podľa môjho názoru.