¿Se puede hacer clic en el elemento usando jQuery en el evento?

Estoy usando el siguiente código para detectar cuándo se hace clic en un botón generado dinámicamente.

$(document).on("click",".appDetails", function () { alert("test"); }); 

Normalmente, si acaba de hacer $('.appDetails').click() podría usar $(this) para obtener el elemento al que se hizo clic. ¿Cómo puedo lograr esto con el código anterior?

Por ejemplo:

 $(document).on("click",".appDetails", function () { var clickedBtnID = ?????? alert('you clicked on button #' + clickedBtnID); }); 

Tan simple como puede ser

Usa $(this) aquí también

 $(document).on("click",".appDetails", function () { var clickedBtnID = $(this).attr('id'); // or var clickedBtnID = this.id alert('you clicked on button #' + clickedBtnID); }); 

Le falta el parámetro de evento en su función.

 $(document).on("click",".appDetails", function (event) { alert(event.target.id); }); 

La forma convencional de manejar esto no funciona bien con ES6. Usted puede hacer esto en su lugar:

 $('.delete').on('click', event => { const clickedElement = $(event.target); this.delete(clickedElement.data('id')); }); 

Tenga en cuenta que el objective del evento será el elemento cliqueado, que puede no ser el elemento que desea (podría ser un niño que recibió el evento). Para obtener el elemento real:

 $('.delete').on('click', event => { const clickedElement = $(event.target); const targetElement = clickedElement.closest('.delete'); this.delete(targetElement.data('id')); }); 
  $(document).on("click",".appDetails", function () { var clickedBtnID = $(this).attr('id'); // or var clickedBtnID = this.id alert('you clicked on button #' + clickedBtnID); var val_ = $(this).text(); $('p10_test',val_); });