-1
votes

Comment ignorer la fonction dans ONCLICK en fonction de certaines conditions

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>


0 commentaires

4 Réponses :


0
votes

Vous devriez false votre clickhandler xxx

si vous souhaitez appeler myfunc () à nouveau, Ensuite, vous devez appeler comme ceci:

clickhandler.call (ceci, événement);


1 commentaires

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);



3
votes

Pour répondre à votre question: Vous avez 2 gestionnaires d'événements pour votre bouton. Le premier est onclick = "myfunc ()" . Et la seconde est votre jQuery enregistrement $ ("# BTN"). On ("Cliquez sur", ...

Retirez simplement l'un d'entre eux.


0 commentaires

0
votes

Vous pouvez ajouter et supprimer votre fonction OnClick à l'aide de attr et removeattr fonctions. Ou retirez une méthode de gestionnaire.

code HTML: xxx

JS code: xxx


0 commentaires

0
votes

Vous pouvez appliquer la condition à myfunc () et éviter $ ("# BTN"). On (click ', fonction (E) {}) xxx


0 commentaires