En el código, trato de imprimir el nombre que se guarda como un valor de datos para cada botón... pero en la primera llamada de evento de clic no funciona. mientras que después de la primera vez funciona normalmente.
NOTA: la función off('click') es porque sin ella esta función se activa varias veces con la siguiente tasa: 1 vez con un clic, 2 veces con el siguiente clic, 3 veces con el siguiente clic, 4 veces con el siguiente clic, ... ... y así.
Entonces it(off('click')) evita que esto suceda.
$(document).on('click', '.btn-add', () => { $(".btn-add").off('click').on('click', (obj) => { const nameOfProduct = obj.currentTarget.value; console.log("name selected = " + nameOfProduct); }) })Esto es probablemente lo que desea hacer, una vez que el documento esté listo, agregue el controlador de clic de botón:
$(document).ready(() => { $(".btn-add").on('click', (obj) => { const nameOfProduct = obj.currentTarget.value; console.log("name selected = " + nameOfProduct); }) })Su código elimina el controlador y luego agrega el controlador al clic del botón después de cada clic en el botón. Entonces, después del primer clic, intenta eliminar, luego agrega el controlador. Después de eso, activa la función del controlador, elimina el controlador y agrega el controlador, que probablemente no sea lo que desea hacer.