Pourquoi la fonction d'entrée onclick est-elle appelée d'abord avant d'aller à la fonction JQuery Onclick.
Lorsque le texte est 1, Hello World Alert est affiché (myfunc) puis ma deuxième alerte (('# #. Cliquez sur ') est affiché. Comment le faire lire le ("#btn"). On ("Cliquez sur" avant Myfunc? P>
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
</head>
<body>
<input type=text id="txt">
<input type=button value="click" onclick="myFunc()" id="btn">
</body>
<script>
$("#btn").on('click', function(e){
if($("#txt").val() == "1"){
alert("do not show Hello World alert");
e.preventDefault();
}
});
function myFunc() {
alert("Hello World!!!");
}
</script>
</html>
4 Réponses :
Vous devriez si vous souhaitez appeler false code> votre clickhandler code> myfunc () code> à nouveau, Ensuite, vous devez appeler comme ceci: p> clickhandler.call (ceci, événement); code> p> p> p> P>
Merci! J'utilise la mauvaise approche. J'utilisais $ (ceci) .Cliquez sur (Clickhandler); Mais cela fonctionne quand je l'ai changé pour clickhandler.Call (ceci, événement);
Pour répondre à votre question:
Vous avez 2 gestionnaires d'événements pour votre bouton.
Le premier est Retirez simplement l'un d'entre eux. p> onclick = "myfunc ()" code>. Et la seconde est votre jQuery code> enregistrement $ ("# BTN"). On ("Cliquez sur", ... CODE> P> P>
Vous pouvez ajouter et supprimer votre fonction OnClick à l'aide de code HTML: p> JS code: p> attr code> et removeattr code> fonctions. Ou retirez une méthode de gestionnaire.
Vous pouvez appliquer la condition à myfunc () et éviter $ ("# BTN"). On (click ', fonction (E) {})