The problem is that you're thinking of them like Java namespaces (or the
same in other languages). You need to think of them like class names.

e.g. $('a.foo.bar') is sort of like .bind("click.foo.bar") or
.trigger("click.foo").

--John


On Wed, Aug 12, 2009 at 12:49 PM, ludovic <ludothebe...@gmail.com> wrote:

>
> Hi,
> I recently posted a message about event binding syntax, but the point
> I want to discuss is more foundamental.
> I've been surprised to see the namespace syntax around events :
>
> At this time, jquery manages only one level of namespace ( no
> subnamespace ) and the namespaces are put after event names :
> $(obj).bind( 'event.namespace1.namespace2' );
> $(obj).trigger( 'event' ) // triggers all ..
>
> In all languages I know, namespaces are put to the left, and the
> syntax a.b.c signifies c child namespace of b child namespace of a.
>
> Here is the behavior I would find intuitive ( a is parent namespace,
> a.b is child namespace, a.b.c is leaf )
>
> $(obj).bind( 'a', function() { alert( 'ok' ); }  );
> $(obj).triggerHandler( 'a.b.c' ); // executes alert( 'ok' ); ( a kind
> of propagation to parent namespaces )
>
> $(obj).bind( 'a.b.c', function() { alert( 'ok1' ); }  );
> $(obj).bind( 'a.b.e', function() { alert( 'ok2' ); }  );
> $(obj).triggerHandler( 'a.b' ); // executes alert( 'ok1' ); alert
> ( 'ok2' )
>
>
> If I understand, the right-to-left syntax has been choosen because you
> wanted to have always the event name in the triggering call, but if
> you name it like that :
>
> $(obj).bind( 'globalClick.subClick.leafClick', function() { alert
> ( 'ok2' ); }  );
>
> we can consider that there is a relation of generalisation/
> specialisation between two namespaces and it keeps the semantic.
>
> The reason why I want to use this syntax is that I create a lot of
> components and create a lot of specific events. To keep it clear, I
> must use a hierarchical organisation.
>
> What do you think about that ?
>
> Ludovic
>
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"jQuery Development" group.
To post to this group, send email to jquery-dev@googlegroups.com
To unsubscribe from this group, send email to 
jquery-dev+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/jquery-dev?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to