Domanda

Ho una funzione js che ha, fino ad ora, da sempre il callback per un evento click, e, pertanto, si basa molto sul 'questo' pseudo-variabile. 'Questo' è un

  • elemento.

    Comunque ora ho una circostanza in cui a volte viene attivata tramite percorso più contorto, e in queste circostanze 'questo' è un elemento completamente diverso. Tuttavia, prima di chiamare la funzione sono in grado di trovare il relativo

  • , ma c'è un modo per alimentare questo come 'questo'? Ho pensato di utilizzare .each () sulla
  • , ma non funziona su un unico elemento.

    modifica si scopre che ogni () funziona su singoli elementi .. l'errore si è rivelato essere qualcosa d'altro.

    Non hanno cancellato questa domanda anche se, come potrebbe essere utile ad altri

  • È stato utile?

    Soluzione

    Stai cercando il chiamare metodo:

    function onClick() {
        console.log(this); // will be the #test element in both cases
        return false;
    }
    
    $('#test').click(onClick);
    
    $('#test2').click(function() {
        onClick.call($('#test')[0]);
        return false;
    });
    

    Anche se questo è possibile anche con applicare :

    onClick.apply($('#test')[0]);
    

    Il [0] è necessario passare all'elemento DOM effettivo anziché il jQuery stabilito spostato.

    Altri suggerimenti

    jquery.callback plug . Mantiene contesto di callback.

    Autorizzato sotto: CC-BY-SA insieme a attribuzione
    Non affiliato a StackOverflow
    scroll top