Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    771

    Chiamare una funzione passandole implicitamente un elemento

    Ciao a tutti,

    dato questo codice:
    codice:
    $('#mioelemento').on('click',funzione);
    function funzione(){
         alert($(this).val());
    }
    )

    Esiste la possibilità di chiamare la funzione passandole un elemento specifico $(this), che voglio io, in modo da non dover modificare la funzione chiamata?

    Grazie,
    Roberto

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    23,942
    Quote Originariamente inviata da robynosse Visualizza il messaggio
    Esiste la possibilità di chiamare la funzione passandole un elemento specifico $(this), che voglio io, in modo da non dover modificare la funzione chiamata?
    Crea una funzione che accetti l'elemento da passare come primo parametro.
    codice:
    function funzione(item){
         alert($(item).val());
    }

    In alternativa, invoca la funzione usando l'elemento desiderato come oggetto del contesto.
    codice:
    function funzione(){
         alert($(this).val());
    }
    
    // ...
    
    funzione.call(item);
    La forma migliore, anche alternativa a queste due, dipende sempre da qual è l'obiettivo finale che si vuole raggiungere e la ragione per cui serve una cosa del genere.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    771
    Quote Originariamente inviata da alka Visualizza il messaggio
    Crea una funzione che accetti l'elemento da passare come primo parametro.
    codice:
    funzione.call(item);
    Grazie, ho usato questa!

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2021 vBulletin Solutions, Inc. All rights reserved.