framework javascript
npm install jdm_javascript_dom_manipulatorbash
npm install jdm_javascript_dom_manipulator
`
Esempio di utilizzo classico (da inserire prima degli script che usano JDM):
`html
`
Esempio di utilizzo di un modulo ES6 (NB: usa jdm.es.js):
`javascript
import './dist/jdm.es.js';
`USO
`javascript
JDM('div', container, ['fooClass','barClass'])
`
COMPARAZIONE:
jQuery:
`javascript
const $div = $('', { class: 'foo bar' });
const $ul = $('');
const $li1 = $('- ').text('Elemento 1');
const $li2 = $(' - ').text('Elemento 2');
const $li3 = $(' - ').text('Elemento 3');
const $li4 = $(' - ').text('Elemento 4');
const $li5 = $(' - ').text('Elemento 5');
$ul.append($li1, $li2, $li3, $li4, $li5);
$div.append($ul);
$('body').append($div);
`JavaScript puro:
`javascript
const div = 'div';
div.classList.add('foo', 'bar');
const ul = document.createElement('ul');
const li1 = document.createElement('li');
li1.textContent = 'Elemento 1';
const li2 = document.createElement('li');
li2.textContent = 'Elemento 2';
const li3 = document.createElement('li');
li3.textContent = 'Elemento 3';
const li4 = document.createElement('li');
li4.textContent = 'Elemento 4';
const li5 = document.createElement('li');
li5.textContent = 'Elemento 5';
ul.append(li1, li2, li3, li4, li5);
div.appendChild(ul);
document.body.appendChild(div);
`Jdm:
`javascript
const domString =
;
const div = JDM(domString, document.body);
`Kind: global class
* Jdm
* [new Jdm([element], [parent], [classList], [deep], [...args])](#new_Jdm_new)
* [.jdm_setAttribute(attribute, [value])](#Jdm+jdm_setAttribute) ⇒ Jdm
* .jdm_getAttribute(attribute) ⇒ string \| null
* .jdm_append(elementList) ⇒ Jdm
* .jdm_prepend(elementList) ⇒ Jdm
* .jdm_appendBefore(elementList, elementTarget) ⇒ Jdm
* .jdm_appendAfter(elementList, elementTarget) ⇒ Jdm
* .jdm_addId(id) ⇒ Jdm
* .jdm_addClassList(classList) ⇒ Jdm
* .jdm_removeClassList(classList) ⇒ Jdm
* .jdm_toggleClassList(classList) ⇒ Jdm
* [.jdm_findClassList(classList, [some])](#Jdm+jdm_findClassList) ⇒ boolean
* .jdm_empty() ⇒ Jdm
* .jdm_destroy() ⇒ Jdm
* .jdm_validate() ⇒ Jdm
* .jdm_removeAttribute(attribute) ⇒ Jdm
* .jdm_setStyle(style, value) ⇒ Jdm
* [.jdm_extendNode(name, [object])](#Jdm+jdm_extendNode) ⇒ Jdm
* .jdm_innerHTML(value) ⇒ Jdm
* [.jdm_binding(el, [event], [twoWayDataBinding])](#Jdm+jdm_binding) ⇒ Jdm
* [.jdm_onInput([fn])](#Jdm+jdm_onInput) ⇒ Jdm
* [.jdm_onChange([fn])](#Jdm+jdm_onChange) ⇒ Jdm
* [.jdm_onSelect([fn])](#Jdm+jdm_onSelect) ⇒ Jdm
* [.jdm_onDebounce([fn], [timeout])](#Jdm+jdm_onDebounce) ⇒ Jdm
* [.jdm_onClick([fn])](#Jdm+jdm_onClick) ⇒ Jdm
* [.jdm_onRightClick([fn])](#Jdm+jdm_onRightClick) ⇒ Jdm
* [.jdm_onDoubleClick([fn])](#Jdm+jdm_onDoubleClick) ⇒ Jdm
* [.jdm_onInvalid([fn])](#Jdm+jdm_onInvalid) ⇒ Jdm
* [.jdm_onLoad([fn])](#Jdm+jdm_onLoad) ⇒ Jdm
* [.jdm_onError([fn])](#Jdm+jdm_onError) ⇒ Jdm
* [.jdm_onSubmit([fn])](#Jdm+jdm_onSubmit) ⇒ Jdm
* [.jdm_setValue(value, [tooBoolean])](#Jdm+jdm_setValue) ⇒ Jdm
* .jdm_getValue() ⇒ any
* [.jdm_genEvent(name, [data], [propagateToParents])](#Jdm+jdm_genEvent) ⇒ Jdm
* [.jdm_addEventListener(name, [fn])](#Jdm+jdm_addEventListener) ⇒ Jdm
* [.jdm_removeEventListener(name, [fn])](#Jdm+jdm_removeEventListener) ⇒ Jdm
* .jdm_extendChildNode() ⇒ Jdm
* .jdm_clearAnimations() ⇒ Jdm
* [.jdm_fadeIn([callbackFn], [option])](#Jdm+jdm_fadeIn) ⇒ Jdm
* [.jdm_fadeInDown([callbackFn], [option])](#Jdm+jdm_fadeInDown) ⇒ Jdm
* [.jdm_fadeInUp([callbackFn], [option])](#Jdm+jdm_fadeInUp) ⇒ Jdm
* [.jdm_fadeInLeft([callbackFn], [option])](#Jdm+jdm_fadeInLeft) ⇒ Jdm
* [.jdm_fadeInRight([callbackFn], [option])](#Jdm+jdm_fadeInRight) ⇒ Jdm
* [.jdm_fadeOut([callbackFn], [option])](#Jdm+jdm_fadeOut) ⇒ Jdm
* [.jdm_fadeOutRight([callbackFn], [option])](#Jdm+jdm_fadeOutRight) ⇒ Jdm
* [.jdm_fadeOutUp([callbackFn], [option])](#Jdm+jdm_fadeOutUp) ⇒ Jdm
* [.jdm_fadeOutDown([callbackFn], [option])](#Jdm+jdm_fadeOutDown) ⇒ Jdm
* [.jdm_fadeOutLeft([callbackFn], [option])](#Jdm+jdm_fadeOutLeft) ⇒ Jdm
* [.jdm_bounce([callbackFn], [option])](#Jdm+jdm_bounce) ⇒ Jdm
* [.jdm_tada([callbackFn], [option])](#Jdm+jdm_tada) ⇒ Jdm
* [.jdm_zoomIn([callbackFn], [option])](#Jdm+jdm_zoomIn) ⇒ Jdm
* [.jdm_zoomOut([callbackFn], [option])](#Jdm+jdm_zoomOut) ⇒ Jdm
* [.jdm_rotation([callbackFn], [deg], [option])](#Jdm+jdm_rotation) ⇒ Jdm
$3
Crea una nuova istanza della classe Jdm e manipola l'elemento DOM.Returns: Jdm - - Restituisce il nodo appena creato o manipolato.
| Param | Type | Default | Description |
| --- | --- | --- | --- |
| [element] | HTMLElement \| null | | L'elemento DOM da manipolare. Se non specificato, verrà creato un nuovo nodo. |
| [parent] | HTMLElement \| null | | Il genitore dell'elemento. Se specificato, l'elemento verrà aggiunto come figlio del genitore. |
| [classList] | Array.<string> \| null | | Una lista di classi da aggiungere all'elemento. Se specificato, verranno aggiunte le classi all'elemento. |
| [deep] | boolean | true | Se impostato su
true, i figli dell'elemento verranno manipolati ricorsivamente. |
| [...args] | \* | | Altri argomenti opzionali che possono essere passati per la manipolazione del nodo. |Example
`js
const div = JDM('lorem ipsum', document.body, ['my-class'], true);
// Crea un nuovo div con la classe 'my-class' e lo aggiunge al body//language=html
const domString =
paragraph
;
JDM(domString, document.body)
// Crea un nuovo div con la classe 'my-class', un paragrafo child e lo aggiunge tutto al body
`
$3
Imposta un attributo su un elemento DOM e genera un evento personalizzato per il cambiamento.Kind: instance method of Jdm
Chainable
Returns: Jdm - - Restituisce l'elemento DOM su cui l'attributo è stato impostato, consentendo il chaining dei metodi.
| Param | Type | Default | Description |
| --- | --- | --- | --- |
| attribute | string | | Il nome dell'attributo da impostare sull'elemento DOM. |
| [value] | string \| null | null | Il valore dell'attributo. Se non fornito, l'attributo sarà impostato su
null. |Example
`js
const div = JDM('lorem ipsum', document.body)
.jdm_setAttribute('id', 'myDiv')
.jdm_setAttribute('data-test', 'foo')
.jdm_setAttribute('counter', 1);
`
$3
Recupera il valore di un attributo di un elemento DOM.Kind: instance method of Jdm
Returns: string \| null - - Restituisce il valore dell'attributo se esiste, altrimenti
null se l'attributo non è presente. | Param | Type | Description |
| --- | --- | --- |
| attribute | string | Il nome dell'attributo di cui si desidera ottenere il valore. |
Example
`js
const div = JDM('lorem ipsum', document.body)
.jdm_setAttribute('data-test', 'foo');
const dataTest = div.jdm_getAttribute('data-test')
`
$3
Aggiunge uno o più elementi figli a un elemento DOM.
Se viene fornita una lista di elementi, tutti gli elementi vengono aggiunti all'elemento DOM.Kind: instance method of Jdm
Returns: Jdm - - Restituisce l'elemento DOM su cui gli elementi sono stati aggiunti, consentendo il chaining dei metodi.
| Param | Type | Description |
| --- | --- | --- |
| elementList | HTMLElement \| Array.<HTMLElement> | Un singolo elemento DOM o un array di elementi DOM da aggiungere come figli. |
Example
`js
const p1 = JDM('paragrafo 1
');
const p2 = JDM('paragrafo 2
');
const div = JDM('lorem ipsum', document.body)
.jdm_append([p1, p2]); // Aggiunge entrambi i paragrafi come figli del div.const span = JDM('span');
div.jdm_append(span); // Aggiunge il singolo elemento span come figlio del div.
`
$3
Aggiunge uno o più elementi figli a un elemento DOM.
Se viene fornita una lista di elementi, tutti gli elementi vengono aggiunti come figli dell'elemento.
Se viene fornito un singolo elemento, questo viene aggiunto come unico figlio.Kind: instance method of Jdm
Returns: Jdm - - Restituisce l'elemento DOM su cui gli elementi sono stati aggiunti, consentendo il chaining dei metodi.
| Param | Type | Description |
| --- | --- | --- |
| elementList | HTMLElement \| Array.<HTMLElement> | Un singolo elemento DOM o un array di elementi DOM da aggiungere come figli. |
Example
`js
const div = JDM('paragrafo
', document.body);
const span = JDM('foo');
div.jdm_prepend(span);
// Risultato
foo
paragrafo
`
$3
Kind: instance method of Jdm
Returns: Jdm - - Restituisce l'elemento DOM davanti al quale sono stati inseriti gli elementList, consentendo il chaining dei metodi. | Param | Type | Description |
| --- | --- | --- |
| elementList | HTMLElement \| Array.<HTMLElement> | Un singolo elemento DOM o un array di elementi DOM da aggiungere come figli. |
| elementTarget | HTMLElement | gli elementi di element list verranno inseriti prima di questo elemento |
Example
`js
const div = JDM('', document.body);
const span1 = JDM('foo',div);
const span2 = JDM('bar');
const span3 = JDM('test');
span1.jdm_appendBefore([span2, span3]);
// Risultato
bar
test
foo
`
$3
Kind: instance method of Jdm
Returns: Jdm - - Restituisce l'elemento DOM dietro il quale sono stati inseriti gli elementList, consentendo il chaining dei metodi. | Param | Type | Description |
| --- | --- | --- |
| elementList | HTMLElement \| Array.<HTMLElement> | Un singolo elemento DOM o un array di elementi DOM da aggiungere come figli. |
| elementTarget | HTMLElement | gli elementi di element list verranno inseriti dopo questo elemento |
Example
`js
const div = JDM('', document.body);
const span1 = JDM('foo',div);
const span2 = JDM('bar');
const span3 = JDM('test');
span1.jdm_appendAfter([span2, span3]);
// Risultato
foo
bar
test
`
$3
Aggiunge un attributo id all'elemento DOM specificato.Kind: instance method of Jdm
Returns: Jdm - - Restituisce l'elemento DOM su cui è stato impostato l'attributo
id, consentendo il chaining dei metodi. | Param | Type | Description |
| --- | --- | --- |
| id | string | Il valore dell'attributo
id da impostare sull'elemento DOM. |Example
`js
const div = JDM('lorem ipsum', document.body)
.jdm_addId('myDiv'); // Imposta l'attributo id="myDiv" sull'elemento div.
`
$3
Aggiunge una o più classi CSS all'elemento DOM.
Se viene fornito un array di classi, tutte le classi vengono aggiunte all'elemento.
Se viene fornita una singola classe, questa viene aggiunta come unica classe.Kind: instance method of Jdm
Returns: Jdm - - Restituisce l'elemento DOM su cui le classi sono state aggiunte, consentendo il chaining dei metodi.
| Param | Type | Description |
| --- | --- | --- |
| classList | string \| Array.<string> | Una singola classe CSS o un array di classi CSS da aggiungere all'elemento DOM. |
Example
`js
const div = JDM('lorem ipsum', document.body)
.jdm_addClassList('myClass'); // Aggiunge la classe "myClass" all'elemento div.const div2 = JDM('
lorem ipsum', document.body)
.jdm_addClassList(['class1', 'class2']); // Aggiunge "class1" e "class2" all'elemento div2.
`
$3
Rimuove una o più classi CSS dall'elemento DOM.
Se viene fornito un array di classi, tutte le classi vengono rimosse dall'elemento.
Se viene fornita una singola classe, questa viene rimossa.Kind: instance method of Jdm
Returns: Jdm - - Restituisce l'elemento DOM su cui le classi sono state rimosse, consentendo il chaining dei metodi.
| Param | Type | Description |
| --- | --- | --- |
| classList | string \| Array.<string> | Una singola classe CSS o un array di classi CSS da rimuovere dall'elemento DOM. |
Example
`js
JDM('', document.body)
.jdm_removeClassList('myClass'); // Rimuove la classe "myClass" dall'elemento.JDM('
', document.body)
.jdm_removeClassList(['foo', 'bar']); // Rimuove "foo" e "bar" dall'elemento.
`
$3
Attiva o disattiva una o più classi CSS su un elemento DOM.
Se viene fornito un array di classi, ciascuna classe verrà alternata (aggiunta se non presente, rimossa se presente).
Se viene fornita una singola classe, questa verrà alternata.Kind: instance method of Jdm
Returns: Jdm - - Restituisce l'elemento DOM su cui le classi sono state alternate, consentendo il chaining dei metodi.
| Param | Type | Description |
| --- | --- | --- |
| classList | string \| Array.<string> | Una singola classe CSS o un array di classi CSS da alternare sull'elemento DOM. |
Example
`js
const div = JDM('lorem ipsum', document.body)
.jdm_toggleClassList('active'); // Alterna la classe "active" sull'elemento div.const div2 = JDM('
lorem ipsum', document.body)
.jdm_toggleClassList(['class1', 'class2']); // Alterna le classi "class1" e "class2" sull'elemento div2.
`
$3
Permette di cercare una stringa o un array di stringhe all'interno della classe dell'elemento.
Normalmente ritorna true se tutti gli elementi di classList sono presenti nella classe dell'elemento
Se "some" è impostato a true cerca se sono presenti alcune classiKind: instance method of Jdm
Returns: boolean - - ritorna true o false in base alla ricerca AND o OR
| Param | Type | Default | Description |
| --- | --- | --- | --- |
| classList | string \| Array.<string> | | Una singola classe CSS o un array di classi CSS da cercare. |
| [some] | boolean | false | Parametro che permette di scegliere se la ricerca è in AND o OR |
Example
`js
const div = JDM('', document.body)
.jdm_findClassList(["bar", "foo"]) // ritorna true perchè tutte le classi sono presenticonst div = JDM('
', document.body)
.jdm_findClassList(["bar", "var"], true) // ritorna true perchè bar è presente nelle classi
`
$3
Svuota il contenuto dell'elemento DOM.
A seconda del tipo di elemento, il comportamento di "svuotamento" varia:
- Per gli elementi input di tipo checkbox o radio, deseleziona l'elemento (imposta checked a false).
- Per gli altri elementi input o textarea, imposta il valore a null (svuotando il campo di testo).
- Per un elemento form, esegue il reset del modulo (ripristina tutti i campi al loro stato iniziale).
- Per altri tipi di elementi, rimuove il contenuto HTML dell'elemento (imposta innerHTML a una stringa vuota).Kind: instance method of Jdm
Returns: Jdm - - Restituisce l'elemento DOM su cui è stato effettuato lo svuotamento, consentendo il chaining dei metodi.
Example
`js
const inputText = JDM('input', document.body)
.jdm_empty(); // Imposta il valore dell'input text a null.const checkbox = JDM('input', document.body)
.jdm_setAttribute('type', 'checkbox')
.jdm_empty(); // Deseleziona la checkbox.
const form = JDM('form').jdm_empty(); // Esegue il reset del modulo.
`
$3
Rimuove l'elemento DOM dal documento e genera un evento di distruzione.
Questo metodo elimina l'elemento DOM rappresentato da this.node dalla struttura del documento.
Inoltre, viene generato un evento personalizzato chiamato "destroy".Kind: instance method of Jdm
Returns: Jdm - - Restituisce l'elemento DOM che è stato rimosso, consentendo il chaining dei metodi.
Example
`js
const div = JDM('lorem ipsum', document.body)
.jdm_destroy(); // Rimuove l'elemento div dal documento e genera un evento "destroy".
`
$3
Verifica la validità dell'elemento input o form secondo le regole di validazione HTML.
Dopo la verifica, viene generato un evento personalizzato chiamato "validate", che segnala il risultato della validazione.Kind: instance method of Jdm
Returns: Jdm - L'elemento DOM su cui è stata effettuata la validazione, consentendo il chaining dei metodi.
Example
`js
JDM('input', document.body)
.jdm_setAttribute('required', 'true')
.jdm_validate(); // Verifica la validità dell'input e genera l'evento "validate".
`
$3
Rimuove un attributo dall'elemento DOM e genera un evento di rimozione dell'attributo.
Questo metodo rimuove l'attributo specificato dall'elemento DOM rappresentato da this.node.
Inoltre, viene generato un evento personalizzato chiamato "removeAttribute" con il nome dell'attributo rimosso.Kind: instance method of Jdm
Returns: Jdm - - Restituisce l'elemento DOM su cui l'attributo è stato rimosso, consentendo il chaining dei metodi.
| Param | Type | Description |
| --- | --- | --- |
| attribute | string | Il nome dell'attributo da rimuovere dall'elemento DOM. |
Example
`js
JDM('lorem ipsum', document.body)
.jdm_removeAttribute('id'); // Rimuove l'attributo 'id' dall'elemento div.
`
$3
Imposta un valore per una proprietà di stile CSS su un elemento DOM.
Questo metodo applica una dichiarazione di stile CSS all'elemento DOM rappresentato da this.node.Kind: instance method of Jdm
Returns: Jdm - - Restituisce l'elemento DOM su cui è stato applicato lo stile, consentendo il chaining dei metodi.
| Param | Type | Description |
| --- | --- | --- |
| style | string | Il nome della proprietà di stile CSS da impostare (ad esempio, "color", "backgroundColor"). |
| value | string | Il valore da assegnare alla proprietà di stile CSS (ad esempio, "red", "10px"). |
Example
`js
const div = JDM('lorem ipsum', document.body)
.jdm_setStyle('color', 'red'); // Imposta il colore del testo dell'elemento div su rosso.
`
$3
Estende l'elemento DOM aggiungendo una proprietà personalizzata.
Questo metodo assegna un oggetto o un valore alla proprietà name dell'elemento DOM rappresentato da this.node.Kind: instance method of Jdm
Returns: Jdm - - Restituisce l'elemento DOM su cui è stata aggiunta la proprietà personalizzata, consentendo il chaining dei metodi.
| Param | Type | Default | Description |
| --- | --- | --- | --- |
| name | string | | Il nome della proprietà da aggiungere all'elemento DOM. |
| [object] | Object \| null | | L'oggetto o il valore da associare alla proprietà. Può essere qualsiasi tipo di valore, incluso
null. |Example
`js
const div = JDM('lorem ipsum', document.body)
.jdm_extendNode('customData', { id: 123, name: 'My Div' });
// Aggiunge la proprietà 'customData' all'elemento div con un oggetto come valore.
console.log(div.customData); // { id: 123, name: 'My Div' }
`
$3
Imposta o restituisce il contenuto HTML interno dell'elemento DOM.
Questo metodo imposta il valore di innerHTML dell'elemento DOM rappresentato da this.node.
Se il parametro value viene fornito, aggiorna il contenuto HTML; altrimenti, restituisce il contenuto HTML attuale.Kind: instance method of Jdm
Returns: Jdm - - Restituisce l'elemento DOM con il nuovo contenuto HTML impostato, consentendo il chaining dei metodi.
| Param | Type | Description |
| --- | --- | --- |
| value | string | Il contenuto HTML da impostare all'interno dell'elemento DOM. Se non fornito, il metodo restituirà il contenuto HTML corrente. |
Example
`js
JDM('lorem ipsum', document.body)
.jdm_innerHTML('Dolor sit amet
');
// Imposta il contenuto HTML del div con un nuovo paragrafo.
`
$3
Imposta un binding di dati tra l'elemento corrente e un altro o più elementi.
Questo metodo consente di sincronizzare i valori tra gli elementi DOM, abilitando il data binding unidirezionale o bidirezionale.
Se un valore cambia nell'elemento sorgente (ad esempio un input), il valore dell'elemento di destinazione (ad esempio un altro input o div) viene aggiornato.
Se il binding bidirezionale è abilitato, i cambiamenti sono sincronizzati in entrambe le direzioni.Kind: instance method of Jdm
Returns: Jdm - - Restituisce l'elemento DOM su cui è stato applicato il binding, consentendo il chaining dei metodi.
| Param | Type | Default | Description |
| --- | --- | --- | --- |
| el | HTMLElement \| Array.<HTMLElement> | | L'elemento o la lista di elementi con cui si desidera stabilire il binding. |
| [event] | string | "\"input\"" | Il tipo di evento da ascoltare per attivare il binding. Default è "input". |
| [twoWayDataBinding] | boolean | true | Se
true, attiva il binding bidirezionale. Se false, il binding sarà unidirezionale. |Example
`js
const input = JDM('input', document.body);
const output = JDM('input', document.body);
input.jdm_binding(output, "input", true);
// Crea un binding unidirezionale tra l'input e l'output, che si attiva sull'evento 'change'.
`
$3
Aggiunge un listener per l'evento input all'elemento DOM.
Questo metodo consente di eseguire una funzione di callback ogni volta che si verifica un evento di tipo input sull'elemento.Kind: instance method of Jdm
Returns: Jdm - - Restituisce l'elemento DOM su cui è stato aggiunto l'event listener, consentendo il chaining dei metodi.
| Param | Type | Default | Description |
| --- | --- | --- | --- |
| [fn] | function | () => {} | La funzione di callback da eseguire quando si verifica l'evento
input. La funzione riceverà l'evento come parametro. |Example
`js
const input = JDM('input', document.body)
.jdm_onInput((event) => {
console.log('Input modificato:', input.jdm_getValue());
});
// Aggiunge un listener per l'evento 'input' che stampa il valore dell'input ogni volta che cambia.
`
$3
Aggiunge un listener per l'evento change all'elemento DOM.
Questo metodo consente di eseguire una funzione di callback ogni volta che si verifica un evento di tipo change sull'elemento.
L'evento change viene attivato quando il valore di un elemento, come un campo di input, viene modificato e l'elemento perde il focus.Kind: instance method of Jdm
Returns: Jdm - - Restituisce l'elemento DOM su cui è stato aggiunto l'event listener, consentendo il chaining dei metodi.
| Param | Type | Default | Description |
| --- | --- | --- | --- |
| [fn] | function | () => {} | La funzione di callback da eseguire quando si verifica l'evento
change. La funzione riceverà l'evento come parametro. |Example
`js
const input = JDM('input', document.body)
.jdm_onChange(() => {
console.log('Valore cambiato:', input.jdm_getValue());
});
// Aggiunge un listener per l'evento 'change' che stampa il valore dell'input ogni volta che cambia.
`
$3
Aggiunge un listener per l'evento select all'elemento DOM.
Questo metodo consente di eseguire una funzione di callback ogni volta che si verifica un evento di tipo select sull'elemento.
L'evento select viene attivato quando una parte del testo all'interno di un elemento, come un campo di input o una textarea, viene selezionata dall'utente.Kind: instance method of Jdm
Returns: Jdm - - Restituisce l'elemento DOM su cui è stato aggiunto l'event listener, consentendo il chaining dei metodi.
| Param | Type | Default | Description |
| --- | --- | --- | --- |
| [fn] | function | () => {} | La funzione di callback da eseguire quando si verifica l'evento
select. La funzione riceverà l'evento come parametro. |Example
`js
const input = JDM('', document.body)
.jdm_onSelect((event) => {
console.log('Testo selezionato:', input.jdm_getValue());
});
// Aggiunge un listener per l'evento 'select' che stampa il valore del campo di input ogni volta che viene selezionato del testo.
`
$3
Aggiunge un listener per l'evento input all'elemento DOM con un meccanismo di debounce.
Questo metodo permette di eseguire una funzione di callback solo dopo che l'utente ha smesso di digitare per un determinato periodo di tempo.
È utile per evitare l'esecuzione ripetitiva di funzioni (come una ricerca o un aggiornamento) mentre l'utente sta digitando, migliorando le prestazioni.Kind: instance method of Jdm
Returns: Jdm - - Restituisce l'elemento DOM su cui è stato aggiunto l'event listener, consentendo il chaining dei metodi.
| Param | Type | Default | Description |
| --- | --- | --- | --- |
| [fn] | function | () => {} | La funzione di callback da eseguire quando si verifica l'evento
input. La funzione verrà eseguita dopo che l'utente smette di digitare per un periodo di tempo specificato dal parametro timeout. |
| [timeout] | number | 300 | Il tempo di attesa (in millisecondi) dopo l'ultimo evento input prima che la funzione di callback venga eseguita. Il valore predefinito è 300 millisecondi. |Example
`js
const input = JDM('input', document.body)
.jdm_onDebounce(() => {
console.log('Input debounced:',input.jdm_getValue());
}, 500);
// Aggiunge un listener per l'evento 'input' con un debounce di 500 millisecondi,
// evitando chiamate troppo frequenti alla funzione di callback mentre l'utente sta digitando.
`
$3
Aggiunge un listener per l'evento click all'elemento DOM.
Questo metodo consente di eseguire una funzione di callback ogni volta che si verifica un evento di tipo click sull'elemento.
L'evento click viene attivato quando l'utente clicca su un elemento, come un pulsante o un link.Kind: instance method of Jdm
Returns: Jdm - - Restituisce l'elemento DOM su cui è stato aggiunto l'event listener, consentendo il chaining dei metodi.
| Param | Type | Default | Description |
| --- | --- | --- | --- |
| [fn] | function | () => {} | La funzione di callback da eseguire quando si verifica l'evento
click. La funzione riceverà l'evento come parametro. |Example
`js
const button = JDM('', document.body)
.jdm_onClick((event) => {
console.log('Button clicked');
});
// Aggiunge un listener per l'evento 'click' che stampa un messaggio ogni volta che il pulsante viene cliccato.
`
$3
Aggiunge un listener per l'evento contextmenu (clic destro) all'elemento DOM.
Questo metodo consente di eseguire una funzione di callback ogni volta che si verifica un evento di tipo contextmenu sull'elemento,
che viene attivato dal clic destro del mouse (o equivalente, come il tocco prolungato su dispositivi mobili).
L'evento contextmenu è tipicamente usato per visualizzare il menu contestuale di un elemento.Kind: instance method of Jdm
Returns: Jdm - - Restituisce l'elemento DOM su cui è stato aggiunto l'event listener, consentendo il chaining dei metodi.
| Param | Type | Default | Description |
| --- | --- | --- | --- |
| [fn] | function | () => {} | La funzione di callback da eseguire quando si verifica l'evento
contextmenu. La funzione riceverà l'evento come parametro. |Example
`js
const element = JDM(' RIGHT CLICK ', document.body).jdm_onRightClick((event) => {
event.preventDefault(); // Previene il menu contestuale predefinito
console.log('Clic destro eseguito!');
});
// Aggiunge un listener per l'evento 'contextmenu' che esegue la funzione di callback ogni volta che si fa clic destro sull'elemento.
`
$3
Aggiunge un listener per l'evento dblclick (doppio clic) all'elemento DOM.
Questo metodo consente di eseguire una funzione di callback ogni volta che si verifica un evento di tipo dblclick sull'elemento,
che viene attivato quando l'utente fa doppio clic su un elemento.
L'evento dblclick è comunemente utilizzato per azioni che richiedono un'interazione più rapida dell'utente, come l'apertura di un file o l'attivazione di una funzionalità.Kind: instance method of Jdm
Returns: Jdm - - Restituisce l'elemento DOM su cui è stato aggiunto l'event listener, consentendo il chaining dei metodi.
| Param | Type | Default | Description |
| --- | --- | --- | --- |
| [fn] | function | () => {} | La funzione di callback da eseguire quando si verifica l'evento
dblclick. La funzione riceverà l'evento come parametro. |Example
`js
const element = JDM('Double click', document.body)
.jdm_onDoubleClick((event) => {
console.log('Elemento doppiamente cliccato');
});
// Aggiunge un listener per l'evento 'dblclick' che esegue la funzione di callback ogni volta che l'utente fa doppio clic sull'elemento.
`
$3
Aggiunge un listener per l'evento invalid all'elemento DOM.
Questo metodo consente di eseguire una funzione di callback ogni volta che si verifica un evento di tipo invalid sull'elemento,
che viene attivato quando un elemento di modulo non soddisfa i suoi vincoli di validazione.
L'evento invalid viene in genere generato automaticamente dal browser quando un utente invia un modulo con campi non validi.Kind: instance method of Jdm
Returns: Jdm - - Restituisce l'elemento DOM su cui è stato aggiunto l'event listener, consentendo il chaining dei metodi.
| Param | Type | Default | Description |
| --- | --- | --- | --- |
| [fn] | function | () => {} | La funzione di callback da eseguire quando si verifica l'evento
invalid. La funzione riceverà l'evento come parametro. |Example
`js
const formString =
;
const form = JDM(formString, document.body)
form.jdm_childNode.inputNumeric
.jdm_onInvalid((e) => {
console.log('Il campo input è invalido');
})
// Aggiunge un listener per l'evento 'invalid' che esegue la funzione di callback quando l'input non è valido.
`
$3
Aggiunge un listener per l'evento load all'elemento DOM.
Questo metodo consente di eseguire una funzione di callback ogni volta che si verifica un evento di tipo load sull'elemento,
che viene attivato quando l'elemento o le risorse a esso associate sono completamente caricate.
L'evento load viene comunemente utilizzato per monitorare il caricamento di immagini, script o altri contenuti multimediali,
ma può essere attivato anche quando una pagina o un elemento è stato completamente caricato nel DOM.Kind: instance method of Jdm
Returns: Jdm - - Restituisce l'elemento DOM su cui è stato aggiunto l'event listener, consentendo il chaining dei metodi.
| Param | Type | Default | Description |
| --- | --- | --- | --- |
| [fn] | function | () => {} | La funzione di callback da eseguire quando si verifica l'evento
load. La funzione riceverà l'evento come parametro. |Example
`js
const image = JDM('
', document.body)
.jdm_onLoad(() => {
console.log('Immagine caricata con successo');
});
// Aggiunge un listener per l'evento 'load' che esegue la funzione di callback ogni volta che l'immagine è completamente caricata.
`
$3
Aggiunge un listener per l'evento error all'elemento DOM.
Questo metodo consente di eseguire una funzione di callback ogni volta che si verifica un evento di tipo error sull'elemento,
che viene attivato quando si verifica un errore durante il caricamento di risorse o altre operazioni.
L'evento error viene comunemente utilizzato per gestire errori di caricamento, come quando un'immagine non riesce a caricarsi
o quando un file JavaScript o CSS non può essere caricato correttamente.Kind: instance method of Jdm
Returns: Jdm - - Restituisce l'elemento DOM su cui è stato aggiunto l'event listener, consentendo il chaining dei metodi.
| Param | Type | Default | Description |
| --- | --- | --- | --- |
| [fn] | function | () => {} | La funzione di callback da eseguire quando si verifica l'evento
error. La funzione riceverà l'evento come parametro. |Example
`js
const imgElement = JDM('
', document.body)
.jdm_onError(() => {
console.log('Si è verificato un errore nel caricamento dell\'immagine');
});
// Aggiunge un listener per l'evento 'error' che esegue la funzione di callback ogni volta che si verifica un errore nel caricamento dell'immagine.
`
$3
Aggiunge un listener per l'evento submit all'elemento DOM.
Questo metodo consente di eseguire una funzione di callback ogni volta che si verifica un evento di tipo submit sull'elemento,
che viene attivato quando un modulo viene inviato.
L'evento submit viene generato quando un utente invia un modulo, sia tramite il pulsante di invio che premendo il tasto "Enter"
in un campo del modulo.Kind: instance method of Jdm
Returns: Jdm - - Restituisce l'elemento DOM su cui è stato aggiunto l'event listener, consentendo il chaining dei metodi.
| Param | Type | Default | Description |
| --- | --- | --- | --- |
| [fn] | function | () => {} | La funzione di callback da eseguire quando si verifica l'evento
submit. La funzione riceverà l'evento come parametro. Se necessario, la funzione di callback può chiamare event.preventDefault() per prevenire l'invio del modulo. |Example
`js
const formString =
;
const form = JDM(formString, document.body)
.jdm_onSubmit((e)=> {
e.preventDefault();
console.log('submit');
})
// Aggiunge un listener per l'evento 'submit' che esegue la funzione di callback ogni volta che il modulo viene inviato.
`
$3
Imposta il valore di un elemento DOM. Se l'elemento è una checkbox, un radio button o un modulo,
il valore verrà impostato di conseguenza. Se l'elemento è un modulo (;
const form = JDM(formString, document.body)
.jdm_setValue(data);
// Imposta i valori del modulo, inclusi i checkbox e altri input.
`
$3
Ottiene il valore di un elemento DOM. A seconda del tipo di elemento, il valore verrà restituito in modo appropriato:
- Input (checkbox, radio): restituisce il valore checked dell'elemento.
- Form: restituisce un oggetto JSON con i valori di tutti i campi del modulo, supportando strutture di dati complesse come array e oggetti.
- Select: restituisce il valore selezionato dell'elemento