web-dev-qa-db-de.com

OnClick-Ereignis dynamisch mit jQuery hinzufügen

Da ein Plugin verwendet wird, kann ich das Attribut "onClick" nicht wie üblich zu den HTML-Formulareingaben hinzufügen. Ein Plugin behandelt den Formularteil auf meiner Website und bietet keine Option, dies automatisch zu tun .

Grundsätzlich habe ich diese Eingabe:

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

Ich möchte einen OnClick mit jQuery Onload hinzufügen, damit es so aussieht:

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

Wie mache ich das?

Ich weiß, dass dies nicht Standardpraxis ist, aber in meiner Situation die einfachste Option zu sein scheint.

Ich bin ein Neuling bei jQuery, also wird jede Hilfe sehr geschätzt.

93
Claudio Delgado

Sie können das Ereignis click verwenden und Ihre Funktion aufrufen oder Ihre Logik in den Handler verschieben:

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

Sie können das Ereignis click verwenden und Ihre Funktion als Handler festlegen:

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

.klicken()

Binden Sie einen Event-Handler an das JavaScript-Ereignis "click" oder lösen Sie dieses Ereignis für ein Element aus.

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


Sie können das an "click" gebundene Ereignis on verwenden und Ihre Funktion aufrufen oder Ihre Logik in den Handler verschieben:

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

Sie können das an "click" gebundene Ereignis on verwenden und Ihre Funktion als Handler festlegen:

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

.auf()

Hängen Sie eine Event-Handler-Funktion für ein oder mehrere Events an die ausgewählte Elemente.

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

167
hunter

versuchen Sie diesen Ansatz, wenn Sie den Namen Ihres Objektclients kennen (es ist nicht wichtig, dass es sich um einen Button oder eine TextBox handelt).

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

probieren Sie diese aus, wenn Sie mit JQuery einem Serverobjekt ein onClick-Ereignis hinzufügen möchten

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

Versuchen Sie es unten,

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

oder falls jQuery nicht unbedingt erforderlich ist, versuchen Sie es unten,

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

Das obige Verfahren hat jedoch einige Nachteile, da es als Eigenschaft festgelegt wurde, anstatt als Handler registriert zu werden. 

Lesen Sie mehr in diesem Beitrag https://stackoverflow.com/a/6348597/297641

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

Oder Sie können eine Pfeilfunktion verwenden, um sie zu definieren:

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

  });
});

Für eine bessere Browserunterstützung:

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

  });
});