No funciona Evento onClick jQuery

publicado por: Anonymous

Tengo el evento click generado con jQuery, que esta siendo definido dentro de un ready, por algún motivo dentro del ready no funciona, pero fuera, si.

Código:

$(function(){
    $('#id').on("click", function(){ ..algo.. } ); // No funciona

    var aux = document.getElementById("id");
    console.log(aux); // es Null aun estando en el documento
});

// $('#id').on("click", function(){ ..algo.. } );  Si funciona

Version de Jquery: 2.2.3

solución

El código funciona bien, como podrás ver en la prueba de más abajo.

Aunque por lo general, los valores se usan dentro del ámbito de la función que genera un evento en específico, tal como el click de un botón. Son muy raros los casos en que se necesite usar los datos de una forma general dentro del DOM. También ten en cuenta que al no indicar lo que quieres del elemento, lo que obtienes es el elemento en sí. Generalmente lo que se busca de un elemento del tipo botón o del tipo input es su id, o el value, o el text que hay escrito en él.

En cuanto a function, estás aplicando la manera correcta, ya que document.ready ha sido declarado obsoleto a partir de jQuery 3.

_x000D_

_x000D_

$(function() {_x000D_
_x000D_
  $('#btnTest').on("click", function() {_x000D_
    alert("Estamos en el ámbito del click, generalmente los valores se usan aquí");_x000D_
  });_x000D_
  var inputTest = document.getElementById("ibxTest").value;_x000D_
  var buttonTest = document.getElementById("btnTest");_x000D_
  console.log(inputTest);_x000D_
  console.log(buttonTest);_x000D_
  console.log(buttonTest.id);_x000D_
_x000D_
});

_x000D_

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>_x000D_
<input type="text" id="ibxTest" value="Test" />_x000D_
<button id="btnTest">Click para probar</button>

_x000D_

_x000D_

_x000D_

Respondido por: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *