Código:
<script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>
<script type="text/javascript">
$("#clicker").click(function () {
alert("Hello!");
$(".hide_div").hide();
});
</script>
O código acima não funciona. Quando clico em #clicker, ele não alerta e não se esconde. Verifiquei o console e não recebo erros. Também verifiquei se o JQuery estava carregando e de fato está. Portanto, não tenho certeza de qual é o problema. Eu também fiz uma função de documento pronto com um alerta e funcionou, então não tenho certeza do que estou fazendo de errado. Por favor ajude. Obrigado!
javascript
jquery
onclick
click
onclicklistener
starbucks
fonte
fonte
Respostas:
Você deve adicionar o código javascript em um
$(document).ready(function() {});
bloco.ie
Como afirma a documentação do jQuery : "Uma página não pode ser manipulada com segurança até que o documento esteja" pronto ". O jQuery detecta esse estado de prontidão para você. O código incluído
$( document ).ready()
só será executado quando a página Document Object Model (DOM) estiver pronta para JavaScript código para executar "fonte
.on()
funciona. Você pode (opcionalmente) usá-lo para criar manipuladores delegados, mas de qualquer forma ele não "raspa a página", ele vincula um ouvinte ao (s) elemento (s) específico (s) no objeto jQuery em que você o chama.Eu encontrei a melhor solução para este problema usando ON com $ (document).
para id começar com veja abaixo:
finalmente, após 1 semana, não preciso adicionar o onclick triger. Espero que isso ajude muitas pessoas
fonte
Seu código pode funcionar sem document.ready (), apenas certifique-se de que seu script está após o #clicker. Confira esta demonstração: http://jsbin.com/aPAsaZo/1/
A ideia no conceito pronto. Se você tiver certeza de que seu script é a última coisa em sua página ou está depois do elemento afetado, ele funcionará.
Aviso: nojsbindemo substitua
http
porhttps
lá no código, ou use esta variante Demofonte
document.ready()
função é necessária.Você tem que embrulhar seu código Javascript com
$(document).ready(function(){});
Look this JSfiddle .Código JS:
fonte
Tente adicionar
$(document).ready(function(){
ao início do seu script e então});
. Além disso, odiv
tem o id corretamente, ou seja, como um id, não uma classe, etc.?fonte
Certifique-se de que não haja nada em seu botão (como um div ou uma imagem transparente) que impeça de clicar no botão. Parece estúpido, mas às vezes pensamos que o jQuery não está funcionando e todas essas coisas e o problema está no posicionamento dos elementos DOM.
fonte
Você pode usar o
$(function(){ // code });
que é executado quando o documento estiver pronto para executar o código dentro desse bloco.fonte
Apenas uma verificação rápida, se você estiver usando o mecanismo de modelagem do lado do cliente, como guidão, seu js será carregado após document.ready, portanto, não haverá nenhum elemento para vincular o evento, portanto, use o manipulador onclick ou no corpo e verifique o alvo atual
fonte