web-dev-qa-db-fra.com

Ajout dynamique d'événement onClick à l'aide de jQuery

En raison de l'utilisation d'un plugin, je ne peux pas ajouter l'attribut "onClick" aux entrées de formulaire HTML comme d'habitude . Un plugin gère la partie formulaire de mon site et ne permet pas de le faire automatiquement .

Fondamentalement, j'ai cette entrée:

<input type="text" id="bfCaptchaEntry" name="bfCaptchaEntry" style="">

Je veux ajouter un onClick avec jQuery onload pour que ce soit comme ceci:

<input onClick="myfunction()" type="text" id="bfCaptchaEntry" name="bfCaptchaEntry" style="">

Comment puis-je faire cela?

Je sais que cela peut ne pas être une pratique courante, mais semble être l'option la plus facile à faire dans ma situation.

Je suis un débutant chez jQuery, toute aide est donc la bienvenue.

93
Claudio Delgado

Vous pouvez utiliser l'événement click et appeler votre fonction ou déplacer votre logique dans le gestionnaire:

$("#bfCaptchaEntry").click(function(){ myFunction(); });

Vous pouvez utiliser l'événement click et définir votre fonction comme gestionnaire:

$("#bfCaptchaEntry").click(myFunction);

.Cliquez sur()

Liez un gestionnaire d'événements à l'événement JavaScript "cliquez sur" ou déclenchez cet événement sur un élément.

http://api.jquery.com/click/


Vous pouvez utiliser l'événement on lié à "click" et appeler votre fonction ou déplacer votre logique dans le gestionnaire:

$("#bfCaptchaEntry").on("click", function(){ myFunction(); });

Vous pouvez utiliser l'événement on lié à "click" et définir votre fonction en tant que gestionnaire:

$("#bfCaptchaEntry").on("click", myFunction);

.sur()

Attachez une fonction de gestionnaire d'événements pour un ou plusieurs événements au éléments sélectionnés.

http://api.jquery.com/on/

167
hunter

essayez cette approche si vous connaissez le nom du client de votre objet (peu importe qu'il s'agisse de Button ou de TextBox)

$('#ButtonName').removeAttr('onclick');
$('#ButtonName').attr('onClick', 'FunctionName(this);');

essayez ceux-ci si vous voulez ajouter l'événement onClick à un objet serveur avec JQuery

$('#' + '<%= ButtonName.ClientID %>').removeAttr('onclick');
$('#' + '<%= ButtonName.ClientID %>').attr('onClick', 'FunctionName(this);');
21
Ardalan Shahgholi

Essayez l'approche ci-dessous,

$('#bfCaptchaEntry').on('click', myfunction);

ou si jQuery n'est pas une nécessité absolue, essayez ci-dessous,

document.getElementById('bfCaptchaEntry').onclick = myfunction;

Cependant, la méthode ci-dessus présente peu d'inconvénients car elle se définit comme une propriété plutôt que d'être enregistrée en tant que gestionnaire ... 

En savoir plus sur cet article https://stackoverflow.com/a/6348597/297641

16
$("#bfCaptchaEntry").click(function(){
    myFunction();
});
7
Parv Sharma

Ou vous pouvez utiliser une fonction de flèche pour le définir:

$(document).ready(() => {
  $('#bfCaptchaEntry').click(()=>{

  });
});

Pour un meilleur support du navigateur:

$(document).ready(function() {
  $('#bfCaptchaEntry').click(()=>{

  });
});
0