Estoy tratando de hacer algo como esto

<div onclick="check_update('personal_details') ; showUser(2)">Click me </div>

pero sólo check_update(‘personal_details’) está recibiendo la llamada . Quiero ejecutar dos funciones separadas al mismo tiempo, cuando DIV que se hace clic. Cualquier ayuda será muy bueno para mí como yo estoy todavía en una fase de aprendizaje. Gracias de antemano.

InformationsquelleAutor Shashi Roy | 2012-05-08

3 Comentarios

  1. 7

    No puede ejecutar dos funciones al mismo tiempo. JavaScript en un navegador web es de un solo subproceso.

    El código que se encargará de ejecutar las funciones de forma secuencial, siempre que el primero no lanzar una excepción y terminar la ejecución.

    Si se lanza una excepción, a continuación, usted debe tratar de resolver. Como una fuerza bruta hack:

    try {
        check_update('personal_details') ; 
    } catch (e) {
        alert("Oh no! An exception! " + e);
    }
    showUser(2);

    … pero evitar el error en el primer lugar es, obviamente, la mejor solución!

  2. 3

    Está pregunta es etiquetado como jQuery, así que voy a asumir que usted está usando. En ese caso, usted no debería estar usando el atributo onclick en todo. Esta sería la forma correcta de escribir el código de jQuery perspectiva:

    <div id="yourId">Click me</div>
    
    <script type="text/javascript">
    $('#yourId').click(function(e) {
        e.preventDefault();
        check_update('personal_details'); 
        showUser(2);
    });
    </script>
  3. 2

    Utilizar una función dentro de un cierre. Reemplazar otherFunction con el nombre de la segunda función que deseas llamar y todo debería funcionar como se espera.

    <div onclick="(function(){check_update('personal_details'); otherFunction(); })()">Click me </div>
    • La segunda función es la de showUser. ¿Cuál es el punto de la anónima, la auto-ejecución de la función? No declarar las variables, de modo que no puede ser un cierre.
    • Se han desequilibrado ( y faltan un ; por lo que este será un error de sintaxis.
    • desea ejecutar dos funciones independientes», que es lo que este hace. Y de lo que he aprendido un cierre a la una de la auto-ejecución de bit de código (por ejemplo, en el interior de un auto de ejecución de la función). Disculpas si se me ha entendido mal. Y voy a corregir la sintaxis demasiado, gracias por señalarlo.
    • El código de la pregunta ejecuta dos funciones separadas. Este se ejecuta un segundo la función y los envuelve en un inútil función anónima. No es un cierre, no hay ninguna de las variables de estar encerrada por ella, es sólo la hinchazón.
    • Disculpas si he entendido la pregunta. Yo creí que él estaba tratando de averiguar cómo llamar a dos funciones desde dentro de una onclick y basado en mi respuesta sobre eso. Todavía estoy aprendiendo Javascript, así que cualquier aporte es útil y apreciado. 🙂
    • — La cuestión no parece ser acerca de eso, pero el código de la pregunta que ya hace (lo que sugiere una de las funciones es erroring y matar a la secuencia de comandos). El código es más complejo, pero esa complejidad no proporciona ningún beneficio. Simplemente significa que, en lugar de la función onclick llamar una función y, a continuación, otra, la función onclick llama a una función que se llama a una función y luego otro.
    • Ah, bueno, yo veo lo que estás diciendo. Disculpas por una respuesta incorrecta.
    • <script> función check_update(‘personal_details’) { —- } function showUser(2) { —- } </script> <div onclick=»check_update(‘personal_details’) ; showUser(2)»>haga Clic en me </div> quiero implementar arriba. Hay alguna forma de ejecutar la función haciendo clic en el DIV .
    • basta con echar un vistazo a Quentin de la respuesta.

Dejar respuesta

Please enter your comment!
Please enter your name here