Ich muss JavaScript verwenden, um das Klicken auf Schaltflächen zu simulieren. Wie erreiche ich es? Kann ich es mit jQuery erreichen?
Antworten:
Ja, du kannst es mit jquery machen. Verwenden Sie triggerFunktion. Hier Dokumentation . Hier ist ein Beispiel:
$('#foo').trigger('click');
$(this).trigger('click');
event.preventDefault();
Sie können den einem Schaltflächensteuerelement zugewiesenen Klickereignishandler ausführen:
$("#mybutton").click();
Einfach .click () :
$("#theButton").click();
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>
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');
});
.click()? Gibt es vielleicht einen Laufzeitkostenunterschied zwischen den beiden?