Stack Overflow en español Asked by Missael Armenta on November 24, 2021
Tengo una pequeña duda en JavaScript
Resulta que estoy realizando un evento con Jquery sobre los elementos de una clase, pero por alguna razón el evento se ejecuta N veces el numero de elementos de dicha clase ejemplo
$(".sltTypeTransaction").change(function (){
console.log("Hola mundo");
})
En mi caso tengo 2 elementos HTML con la clase "sltTypeTransaction" y el evento se ejecuta 2 veces, todo funciona bien pero me pregunto si existe alguna forma de que solo se ejecute 1 vez ya que en realidad al interactuar con el control no se cambian los 2 elementos al mismo tiempo si no mas bien cambia un elemento a la vez
De ante mano muchas gracias;
The change event is sent to an element when its value changes. This event is limited to elements, boxes and elements. For select boxes, checkboxes, and radio buttons, the event is fired immediately when the user makes a selection with the mouse, but for the other element types the event is deferred until the element loses focus.
Un evento change
solamente se dispara cuando el elemento que lo tiene asignado cambia. Si se te está disparando más veces es porque tienes que tener otro evento asignado a la misma clase (quizá un click
o un focusout
o similares).
Ejemplo de función change()
aplicada en varios elementos a través de su clase
$(".sltTypeTransaction").change(function (){
let id = $(this).attr('id');
console.log("Cambia " + id);
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="text" class="sltTypeTransaction" id="elemento1">
<input type="text" class="sltTypeTransaction" id="elemento2">
<input type="text" class="sltTypeTransaction" id="elemento3">
<input type="text" class="sltTypeTransaction" id="elemento4">
EDIT
Añadí que lo que se muestre por consola sea el ID del elemento que está disparando el evento change
, a fin de que se vea que el evento solamente está saltando 1 vez y que está afectando solamente al elemento que cambia y no al resto con los que comparte clase.
Referencia: change()
Answered by phpMyGuel on November 24, 2021
Get help from others!
Recent Questions
Recent Answers
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP