Esistono 8 diversi tipi di ganci esposti.
C'è un altro solo per uso interno (che è esposto) - jQuery._queueHooks()
.
Ci sono anche altri due ganci: nodeHook
e boolHook
che vengono utilizzati internamente e la loro funzionalità è sostanzialmente incorporato in jQuery.attrHooks
e jQuery.valHooks
.
Ecco quelli importanti:
jQuery.attrHooks
- Impostazione del tipo su un ingresso
radio
dopo il valore reimposta il valore IE6-9.
- Impostare
contenteditable
su false su rimozioni (Bug #10429).
- Set larghezza e l'altezza di auto, invece di 0 sulla stringa vuota (Bug #8150)
- Some attributes require a special call on IE -
href
, src
, width
e height
.
- Restituisce
undefined
in caso di stringa vuota per l'attributo style
.
- Fix get/set per la proprietà
value
nel vecchio IE
- Quando la lettura dei valori di attributo se nessun gancio è definito utilizza sia
boolHook
o nodeHook
(che è lo stesso come jQuery.valHooks.button
).
- Potrebbe essere utilizzato per allegare ganci aggiuntivi quando si ottiene/imposta un attributo di un elemento.
jQuery.propHooks
href
/src
proprietà devono ottenere l'URL normalizzato completo (Bug #10299, Bug #12915).
- Correzione di "Safari segnala erroneamente la proprietà selezionata predefinita di un'opzione".
- Potrebbe essere utilizzato per allegare ganci aggiuntivi quando si ottiene/imposta una proprietà di un elemento.
jQuery.Tween.propHooks
jQuery.Tween
è usato per le animazioni e così.
- Fix per
scrollTop
e scrollLeft
in IE8 - verrà rimossa in jQuery 2.0.
- Altre cose di animazione.
jQuery.cssHooks
Cestino di proprietà ganci di stile per l'override del comportamento predefinito di ottenere e impostare una proprietà di stile.
- Correzione per ottenere/impostare il valore della proprietà CSS
opacity
.
- Correzione per ottenere
witdth
e height
a seconda della proprietà display
.
- Correzione dell'impostazione
width
e height
in base alla proprietà box-sizing
.
- Correzione per ottenere margine-destra.
- Fix per Webkit Bug #29084-
getComputedStyle
rendimenti per cento quando specificato per la parte superiore/sinistra/basso/a destra
- Utilizzato in
jQuery.fn.animate
per espandere le proprietà stile specificato come margin
, padding
e border
.
- Utilizzato in altre varie cose correlate a
jQuery.fn.animate
.
- L'impostazione di varie proprietà CSS di sfondo su
inherit
viene eseguita senza utilizzare jQuery.cssHooks
, perché è più breve in questo modo.
- Potrebbe essere utilizzato per allegare ganci aggiuntivi quando si ottiene/imposta una proprietà di stile individuale di un elemento.
jQuery.valHooks
- Risolve un Blackberry 4.7 bug per
option
elementi (Bug #6932).
- Utilizzato per leggere il valore selezionato per gli elementi
select
.
- Correzioni di lettura di alcune proprietà dell'elemento
button
- id
, name
e coords
. Lo stesso di nodeHook
(vedi sopra).
- Corregge l'incompatibilità sul controllo degli ingressi
radio
e checkbox
tra Webkit e altri.
- Potrebbe essere utilizzato per allegare ganci aggiuntivi durante l'acquisizione/impostazione del valore di un elemento di input.
jQuery.event.fixHooks
Un supporto per jQuery.event.mouseHooks
e jQuery.event.keyHooks
che richiedono fissa e normalizzante basato sul supporto del browser corrente.
jQuery.event.mouseHooks
- Utilizzato per trasferire alcune proprietà dall'originale
MouseEvent
per l'oggetto evento jQuery.
- Normalizza
event.which
(con quale pulsante del mouse è stato utilizzato) sui browser, perché event.button
non è normalizzato.
- Calcola
pageX
, pageY
, clientX
, clientY
e altri se mancanti e li imposta sull'oggetto evento jQuery.
jQuery.event.keyHooks
- Utilizzato per trasferire alcune proprietà dall'originale
KeyboardEvent
per l'oggetto evento jQuery.
- Normalizza
event.which
(il codice carattere del pulsante che è stato premuto) tra i browser. Nell'evento originale potrebbe essere char
, charCode
, key
o keyCode
.
Dalla fonte jQuery 1.9.1.
fonte
2013-03-19 22:16:00
+1 è venuto a sapere la nuova cosa in jquery – sasi
Come regola generale, non si deve fare affidamento su funzionalità non documentate perché il loro comportamento potrebbe essere imprevedibile e può cambiare in qualsiasi momento senza preavviso nelle versioni future. – JJJ
@Juhana: Accetto. Comunque, sembra che '$ .valHooks' sia ora usato da alcuni plugin per cambiare il comportamento di' .val() '. E penso davvero che sia un buon aggancio in qualche modo. –