Συμβάντα (events)
Η jQuery προσφέρει μια πληθώρα από συναρτήσεις με τις οποίες μπορείτε να προσθέσετε ή να ορίσετε διαχειριστές συμβάντων (event handlers).
Όλες οι συναρτήσεις για τα συμβάντα είναι συντμήσεις της γενικής συνάρτησης bind() η οποία συντάσσεται ως εξής:
$('#p').bind(eventname, function() { ... });
Δηλαδή παίρνει δύο παραμέτρους. Η πρώτη είναι τό όνομα του συμβάντος και η δεύτερη μια ανώνυμη συνάρτηση που θα κληθεί και θα εκτελεστεί όταν το συμβάν προκύψει.
$('#p').bind('click', function() { ... });
Παρατήρηση
Το όνομα του συμβάντος πρέπει να είναι σε εισαγωγικά.
Η bind() είναι αντίστοιχη της addEventListener('click', function(){...});
σε javascript.
Για μεγαλύτερη συντομία η jQuery προσφέρει για κάθε συμβάν μια ξεχωριστή συνάρτηση.
Αυτές είναι:
για mouse events
- mousedown()
- mouseenter()
- mouseleave()
- mousemove()
- mouseout()
- mouseover()
- mouseup()
$('#target').mousedown(function() { alert('Handler for .mousedown() called.'); }); $('#other').click(function() { $('#target').mousedown(); });
Στο δεύτερο παράδειγμα ‘πυροδοτούμε’ (trigger) το κλικ στο #target προγραμματιστικά.
για key events
- keydown()
- keypress()
- keyup()
για άλλα events
- focus()
- blur()
- change()
- select()
- click()
- hover()
- load()
- unload()
- ready()
- submit()
Το συμβάν ready() είναι περίπου το αντίστοιχο window.onload
της javascript.
Έτσι, αν θέλουμε να εκτελεστεί το σκριπτ αφού φορτώσει το έγγραφο γράφουμε:
$(document).ready(function() { ... });
ή ακόμα πιο σύντομα:
$(function() { ... });