Voici le code que j'essayais de placer. C'est très simple, mais event.target ne se déclenche pas alors que les autres gestionnaires d'événements normaux fonctionnent.Pourquoi event.target à l'intérieur de jquery ne fonctionne pas
$(function($){
var container = $('#container');
function init() {
container.on('click', open)
}
function open() {
if(event.target === container) {
alert ("hi");
}
}
init();
})(jQuery);
body, html {
padding:0;
margin:0;
}
#container {
height: 500px;
width:800px;
margin:0 auto;
background-color:#444;
}
h1{
color:white;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<div id = "container">
<h1>Testing</h1>
</div>
Le premier problème est que, TypeError: $ (...). n'est pas une fonction
Le deuxième problème est que même si cela fonctionne dans google chrome, il montre toujours l'erreur ci-dessus.
La troisième erreur est que, bien que la fonction s'exécute dans le navigateur, elle ne fonctionne pas lorsque je place, event.target === commande de conteneur. Cependant, si je simplifie simplement console.log event.target, il me renvoie l'identifiant div du conteneur. Toutefois, lorsque j'ajoute cette vérification de event.target, cela cesse de fonctionner.
Je suis coincé, quelqu'un pourrait-il me aider à expliquer pourquoi ce problème se produit
Merci
Merci ça marche. Mais ma confusion est le conteneur n'a pas d'éléments indexés. Alors, pourquoi l'index container [0] est-il requis? – jeff
@jeff, Ajout de plus de détails dans la réponse. – Agalo