jQuery: associare eventi agli oggetti

jQuery: associare eventi agli oggetti

jQuery ci permette di usare il suo wrapper principale per associare eventi ad oggetti JavaScript tramite il metodo bind() e quindi richiamarli con i metodi trigger() o triggerHandler(). Questi eventi sono propri dell'oggetto passato come argomento al wrapper di jQuery e possono essere usati soprattutto in quei casi in cui il nostro codice è basato su eventi (come nel caso dell'Observer Pattern). Vediamone i dettagli.

Abbiamo il seguente oggetto JavaScript:


var Class = {

	property: 'Test',
	
	getProperty: function() {
	
		return this.property;
	
	},
	
	setProperty: function(value) {
	
		this.property = value;
	
	}

};

Possiamo associargli un evento chiamato change per verificare se una sua proprietà ha cambiato il suo valore predefinito:


$(Class).bind('change', function() {
	
	if(this.property !== 'Test') {
		
		alert('Property changed');
		
	} else {
		
		alert(this.property);
		
	}
	
});

Esempio:


$(Class).triggerHandler('change'); // 'Test'
	
Class.setProperty('Foo');
	
$(Class).triggerHandler('change'); // 'Property changed'

In un codice interamente basato sugli eventi, questa caratteristica di jQuery si rivela decisiva.

Torna su