Articoli con Tag ‘Event’

WordPress Javascript Events

Se non avete la possibilità di utilizzare framework preconfezionati, tipo Backbone JS, in ambiente Javascript/jQuery, lascate che vi illustri un modo semplice per cambiare il vostro usuale modo di notifica.

Probabilmente a qualcuno sarà già nota la possibilità di generare eventi con jQuery. Ma non tutti utilizzano questa caratteristica in particolari circostanze. Poniamoci in un caso classico di chiamata Ajax; normalmente un codice tipo è il seguente:

1
2
3
4
5
6
7
8
9
10
11
12
13
// Ajax call
$.post( '... url ...',
  {
    action : 'param...'
  },

  // Responsse
  function ( data )
  {
    // Processing data
    _myFunctionOrMethod();
  }
);

Continua...

jQuery snippets

Verificare l’esistenza di un elemento nel DOM

Vi sarà capitato di dover verificare l’esistenza o meno di un elemento del DOM. Con jQuery potrebbe venir spontaneo provare con:

Continua...

Come nascondere il bottone di chiusura di un dialog jQuery UI

In attesa del rilascio ufficiale di jQuery UI 1.7 (eh già, il team di sviluppo di jQuery ha deciso che rilascerà la versione come 1.7, causa confusione), dove forse verrà inserita una opzione per eliminare il bottone di chiusura di un dialogo, ecco come risolvere velocemente il problema con l’attuale 1.6rc6:

Continua...

Very short trick: ADDED_TO_STAGE

Come abbiamo visto più volte, nel costruttore di una classe che estende un MovieClip può essere necessario aggiungere l’evento ADDED_TO_STAGE per capire quando il nostro MovieClip è disegnato effettivamente sulla stage:

Continua...

Actionscript 3.0: MovieClip over MovieClip

Appena uno sviluppatore Flash/Actionscript si appresta a scrivere una funzione simile ad un tooltip, si scontra immediatamente con il problema della propagazione degli eventi tra MovieClip sovrapposti. Infatti se un MovieClip (B) si sovrappone ad un MovieClip (A) che risponde, ad esempio, ad un evento MouseEvent.Mouse_OVER, passando con il mouse sul MovieClip (B) più alto nessun evento verrà più intercettato dal MovieClip (A):

MovieClip over MovieClip

Continua...

Creare eventi personalizzati in Actionscript 3.0

Creare eventi personalizzati in Actionscript 3.0 è semplicissimo. Usarli, poi, permette di utilizzare il metodo addEventListener() e rendere il nostro oggetto del tutto standard. Se abbiamo creato una classe, ad esempio Bottone, è corretto associare a questa uno o più eventi tramite una apposita classe (derivata dalla classe Event) BottoneEvent. Potremmo realizzare tutti gli eventi che interessano il funzionamento del nostro oggetto: il click, il mouse over, o un qualsiasi altro evento! Definendo anche delle nostre personali costanti. Lo scheletro – generico – di una classe evento personalizzata è:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
package {
    /*
    ** @name            : BottoneEvent.as
    ** @description     : Classe derivata da Event per gestire un proprio evento personalizzato
    ** @author          : =undo=
    ** @web             : http://www.undolog.com
    ** @email           : g.fazioli@undolog.com
    */
   
    import flash.events.*;

    public class BottoneEvent extends Event {
       
        public static const MIOEVENTO:String       = 'pluto'; // codice qualsiasi, anche 'mioevento' in minuscolo
       
        public var Valore:Number                   = NaN;        
        /*
        ** @name            : BottoneEvent
        ** @description     : constructor
        */

        public function BottoneEvent ( type:String, v:Number, bubbles:Boolean=false, cancelable:Boolean=false ):void {
            super(type, bubbles, cancelable);
            this.Value = v;
        }
       
        /*
        ** @override
        */

        override public function clone():Event    {
            return new KnobEvent(this.type, this.Value, this.bubbles, this.cancelable);
        }
    }
}

Continua...

Unobtrusive Javascript: un po’ di chiarezza e occhio agli impostori

Alcuni script, ed alcuni Web, usano alcune funzioni Javascript spacciandole per non-intrusive (Unobtrusive), anche quando non lo sono affatto. Cosa rende uno script (solitamente Javascript) non intrusivo? In  linea di principio uno script Javascript è non-intrusivo quando si può far a meno di esso! Detto molto semplicemente! Nello sviluppo di un sito Web l’usabilità dello stesso non deve dipendere da nessun tipo di script. Solo in questo caso abbiamo un genuino script Unobtrusive.

Continua...

La nuova gestione degli eventi di Flash CS3

Ne avevo già parlato in Flash CS3: la nuova gestione degli eventi. Torno sulla questione per sottolieare la differenza di questo nuovo approccio rispetto alle precedenti versioni di ActionScript. Schematizzando abbiamo una situazione generale di questo tipo:

addEventListener

Ogni oggetto che supporta degli eventi, in definitiva, espone sempre il metodo addEventListener(). Nella documentazione, tra l’altro, leggiamo:

Novità per i listener di eventi in ActionScript 3.0

[…] Per aggiungere listener di eventi in ActionScript 2.0 si usa talvolta addListener() e talvolta addEventListener(), mentre in ActionScript 3.0 si usa addEventListener() in tutte le situazioni.
[..]

La gestione degli eventi, poi, è standardizzata anche a livello di listener vero e proprio. Tutte le “funzioni” di ascolto, infatti, hanno la seguente struttura:

1
2
3
function eventResponse(eventObject:EventType):void {
// Le azioni di risposta agli eventi vanno definite qui.
}

EvenType è sempre un oggetto della classe Event o una sua sottoclasse. Questo permette di ottenere sempre infomazioni specifiche per il particolare evento oltre a manipolare proprietà standard come target o currentTarget.

Un’importante differenza con le precedenti versioni di Actionscript, riguardo ai listener, è che:

In ActionScript 2.0, i listener di eventi possono essere funzioni, metodi oppure oggetti mentre in ActionScript 3.0 possono essere listener di eventi solo funzioni o metodi.

Insomma, avendo usato per un bel po’ di tempo la struttura ad eventi delle precedenti versioni di Flash, devo dire che questo nuovo approccio è davvero piacevole. È un po’ che sviluppo con Actionscript 3.0 e, dopo un piccolo smarrimento iniziale (giusto per ritrovare ciò che prima era scontato) ora non capisco proprio come facevo a sopportare il “vecchio” metodo degli eventi delle precedenti versioni.

Continua...

Flash CS3: la nuova gestione degli eventi

Finalmente con ActionScript 3.0 non abbiamo più due diverse gestioni di eventi come accadeva prima di ActionScript 2.0 (vedi: Gestione degli eventi: similitudini tra Flash e Javascript). Il metodo addEventListener(), onnipresente nella nuova architettura, permette di gestire in modo nuovo e straordinariamente pulito tutti gli eventi possibili, anche quelli personali. La nuova organizzazione in package permette di importare gli eventi che ci servono e trattarli tutti allo stesso modo:

1
2
3
4
// Events
import flash.events.KeyboardEvent;
import flash.events.MouseEvent;
import flash.events.Event;

Continua...