Συμβάντα (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() {
	...
});