Wie simuliere ich das Klicken auf eine Schaltfläche mit jQuery oder JavaScript?


76

Ich muss JavaScript verwenden, um das Klicken auf Schaltflächen zu simulieren. Wie erreiche ich es? Kann ich es mit jQuery erreichen?

Antworten:


121

Ja, du kannst es mit jquery machen. Verwenden Sie triggerFunktion. Hier Dokumentation . Hier ist ein Beispiel:

$('#foo').trigger('click');

3
Ist diese Lösung in irgendeiner Weise der Vanillemethode vorzuziehen .click()? Gibt es vielleicht einen Laufzeitkostenunterschied zwischen den beiden?
Axolotl

Ich kann nicht scheinen, dass dies im IE funktioniert. Irgendjemand anderes? $(this).trigger('click');
Thomas Byy

Ignorieren, kann nicht hinzufügen Klick nach dem Hinzufügenevent.preventDefault();
Thomas Byy

27

Sie können den einem Schaltflächensteuerelement zugewiesenen Klickereignishandler ausführen:

$("#mybutton").click();


3

Folgender Code wird gedruckt zweimal ein von geklickt $('.submitBtn').click();und andere$('.submitBtn').trigger('click')

$(document).ready(function() {

  $('.submitBtn').on('click', function() {

   console.log("Clicked!");

  })

$('.submitBtn').click();
$('.submitBtn').trigger('click')



});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>

<button menu="submitBtn" class="submitBtn len4 btn" title="submit" data-code-m="sbm.submit"> Click me
        </button>


1

Bitte versuchen Sie folgenden Code, zB:

setTimeout(function() {
    $(".class_name").trigger('click');  
}, 8000);

0

Wenn Sie es in diese Funktion zum Bereitstellen eines anonymen Dokuments einbinden, wird sichergestellt, dass die Schaltfläche vorhanden ist, bevor Sie darauf klicken. Nur für den Fall, dass versucht wird zu klicken, bevor das Element, auf das Sie klicken möchten, geladen wird. Dies würde das Problem beheben.

Denken Sie auch daran, dass eine ID einen Hash verwendet (z. B. # Schließen-Schaltfläche). Wenn Sie jedoch auf ein Element mit einer KLASSE klicken möchten, tauschen Sie den Hash gegen einen einzelnen Punkt (z. B. Schließen-Schaltfläche).

jQuery(document).ready(function() {
        $("#close-button").trigger('click');    
});
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.