Μέθοδος trigger
Η μέθοδος trigger επιτρέπει την εκκίνηση
όλων των handlers συμβάντων που είναι δεσμευμένα σε ένα στοιχείο
για συμβάντα ενός καθορισμένου τύπου. Καλεί τις
συναρτήσεις-handlers με την ίδια σειρά που θα
καλούνταν από τον χρήστη.
Αν θέλετε να καλέσετε ένα handler συμβάντων, αλλά όχι
να εκτελέσετε το προεπιλεγμένο συμβάν, τότε χρησιμοποιήστε τη μέθοδο
triggerHandler.
Σύνταξη
Ως πρώτη παράμετρο μπορούμε να περάσουμε τον τύπο του συμβάντος ως συμβολοσειρά, ως δεύτερη (προαιρετική) έναν πίνακα ή ένα αντικείμενο, που περιέχει πρόσθετες παραμέτρους για μετάδοση στο handler:
$(selector).trigger(τύπος συμβάντος, [πρόσθετες παράμετροι]);
Μπορείτε ως πρώτη παράμετρο να περάσετε ένα συμβάν
ως αντικείμενο jQuery.Event:
$(selector).trigger(συμβάν, [πρόσθετες παράμετροι]);
Υπάρχει διαφορά μεταξύ της μετάδοσης πρόσθετων
παραμέτρων στη μέθοδο trigger και των δεδομένων στη μέθοδο
on.
Στην πρώτη περίπτωση τα δεδομένα πρέπει να οριστούν κατά τη στιγμή
της εκτέλεσης του συμβάντος, ενώ στη δεύτερη ήδη από τη στιγμή της σύνδεσης
της συνάρτησης-handler.
Παράδειγμα
Όταν πατηθεί το κουμπί #first η τιμή θα
αυξάνεται μόνο στο πρώτο span, όταν
πατηθεί το κουμπί #second - και στα δύο, ενώ
παράλληλα προσομοιώνει κλικ χρήστη στο πρώτο. Η συνάρτηση
increase θα αυξάνει κατά 1 τον αριθμό,
που της περνιέται ως παράμετρο. Με τη βοήθεια
της μεθόδου trigger αναγκάζουμε να ενεργοποιηθεί
το συμβάν click και στο πρώτο span, αν και
πατάμε το κουμπί #second:
<button id="first">button1</button>
<button id="second">button2</button>
<div><span>0</span></div>
<div><span>0</span></div>
button {
margin: 10px;
}
div {
margin-left: 10px;
font-weight: bold;
}
span {
color: green;
}
$('#first').click(function() {
increase($('span').first());
});
$('#second').click(function() {
$('#first').trigger('click');
increase($('span').last());
});
function increase(str) {
let num = parseInt(str.text(), 10);
num.text(num + 1);
}
Δείτε επίσης
-
μέθοδος
on,
που επιτρέπει τη σύνδεση ενός handler συμβάντων σε ένα στοιχείο -
μέθοδος
triggerHandler,
που επιτρέπει την εκκίνηση όλων των handlers συμβάντων, που είναι δεσμευμένα σε ένα στοιχείο -
αντικείμενο
event,
που περιέχει πληροφορίες για το συμβάν -
μέθοδος
submit,
που επιτρέπει τη σύνδεση ενός handler στο JavaScript συμβάν submit ή την εκκίνηση αυτού του συμβάντος