Hi Morgan,
well, I found something interesting about using jQuery and its event
system. I noticed that by binding events to the object prototype like
this: $(MyClass.prototype).bind('namespace.myevent'), I can trigger
those events from within the instance like this:
$(this).trigger('namespace.myevent'). I find this really useful, at
least for the project I'm working on. Here is the idea:
/* @Class */
var MyClass = function () {...};
/* @Members */
MyClass.prototype.methodThatTriggersAnEvent = function () {
//...
$(this).trigger('myevent', [...]);
//...
}
/* @Events */
$(MyClass.prototype).bind({
myevent : function (e, params) {
// e.target: MyClass instance
}
});
On 07/02/11 10:45, MRoderick wrote:
Hi Fran
It would be great if you could share your results here.
I am sure that others would benefit from your findings, and opinions
on why you chose a specific implementation :-)
/Morgan
On Feb 4, 1:15 pm, Fran<[email protected]> wrote:
Looks great MRoderick, light and much quicker than jQuery... I'm doing
some test with it. Thanks
On 04/02/11 10:03, MRoderick wrote:
Hi Fran
<shameless-self-promotion>
You could go for completely independent PubSub implementatations as
well, I wrote one:
https://github.com/mroderick/PubSubJS
http://roderick.dk/blog/2010/10/12/introducing-pubsubjs-a-library-for...
http://jsperf.com/pubsubjs-vs-jquery-custom-events
</shameless-self-promotion>
/Morgan
On Feb 3, 4:47 pm, Fran<[email protected]> wrote:
Hi Joel,
I didn't thought about the first point, thanks for that. About the
second one, I thought about it but found that I could get intro trouble
with certain versions of jQuery if I tried to unbind events since jQuery
seems to try to call "detachEvent" or "removeEventListener" (depending
on the browser) assuming always the object is a DOM element and that's
the reason I wanted to use $(document) or $('body')
I'm not really interested in bouncing events off the dom as you say, so
I'll probably go for something like this jquery plugin someone suggested
in the list:https://gist.github.com/661855
Thanks.
On 03/02/11 15:35, Joel Dart wrote:
1. Body will bubble up through HTML to document. document doesn't have any
place to bubble.
2. You don't have to use the dom when doing jQuery custom events.
$(document).trigger works the same way as $(myNS).trigger where myNS is your
global namespaced object
This probably makes more sense to your app than bouncing events off the dom
anyway.
-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf
Of Fran
Sent: Thursday, February 03, 2011 10:07 AM
To: [email protected]
Subject: Re: [JSMentors] $('body') vs $(document) in Pub/Sub pattern
Because I'd also like to use namespaced events and I think jQuery has this
cleverly implemented
On 03/02/11 15:00, Peter Higgins wrote:
On 2/3/11 9:12 AM, Poetro wrote:
2011/2/3 Fran<[email protected]>:
I like this really tiny but clever plugin. I'll definitely keep it
in mine, but still I have the question whether using $(document) or
$('body') makes any different. Any idea ?
There is one small difference. The $(document) selector is a bit
faster. I dont think that there would be other difference.
right and then the question is: why would you even be running a dom
selector/instantiating a jq obj for something that has
little-to-nothing to do with the DOM. The point of pubsub is that it's
_not_ coupled to anything.
~phiggins
--
To view archived discussions from the original JSMentors Mailman list:
http://www.mail-archive.com/[email protected]/
To search via a non-Google archive, visit
here:http://www.mail-archive.com/[email protected]/
To unsubscribe from this group, send email to
[email protected]
--
To view archived discussions from the original JSMentors Mailman list:
http://www.mail-archive.com/[email protected]/
To search via a non-Google archive, visit here:
http://www.mail-archive.com/[email protected]/
To unsubscribe from this group, send email to
[email protected]