Valentin, I got your point, but my work around should let you use
$("#objid").Render() instead of $("object#objid")[0].Render() ... and it was
just a quick and dirty solution ( if it works )

You are right about the problem itself, maybe there should be something
directly in the site about known unresolvable problems with selectors
because of "weird elements"

Regards

On Thu, Oct 30, 2008 at 4:17 PM, Valentin <[EMAIL PROTECTED]>wrote:

>
> Andrea, thanks but I'm not really looking for "workarounds" (right now
> using [0] ... works) but rather I'm asking the devs of JQuery when is
> this going to be taken care of in the official release (and not have
> users waste hours trying to figure out what's wrong with their code
> before they find the relevant topics (searching for object and jquery
> doesn't help ... )
>
> On Oct 30, 2:58 am, "Andrea Giammarchi" <[EMAIL PROTECTED]>
> wrote:
> > Ops,
> >
> > function __call__(name, args){
> >         this.each(function(){
> >             this[name].apply(this, args || []);
> >         });
> >         return this;
> >     };
> >
> > better ... this should let you do something like
> >
> > $("#objectid").Render();
> >
> > On Thu, Oct 30, 2008 at 9:57 AM, Andrea Giammarchi <
> >
> > [EMAIL PROTECTED]> wrote:
> > > I am not sure I understand the problem, but as theoretical work around
> this
> > > should work, does it?
> >
> > > jQuery.fn.init = function(init){
> > >     function __create__(name){
> > >         return  __create__[name] || (__create__[name] = function(){
> > >             return __call__.call(this, name, arguments);
> > >         })
> > >     };
> > >     function __call__(name, arguments){
> > >         this.each(function(){
> > >             this[name].apply(this, arguments || []);
> > >         });
> > >         return this;
> > >     };
> > >     var object = /applet|embed|object/i;
> > >     return function(selector, context){
> > >         var ret = init.call(this, selector, context);
> > >         if(ret.length && object.test(ret[0].nodeName)){
> > >             ret = init.call(this, ret[0].nodeName.toLowerCase() +
> selector,
> > > context);
> > >             for(var methods =
> > > "Render.TCallLabel.OthersOptionally".split("."), i = 0, length =
> > > methods.length; i < length; i++)
> > >                 ret[methods[i]] = __create__(methods[i]);
> > >         };
> > >         return ret;
> > >     }
> > > }(jQuery.fn.init);
> >
> > > I did not test it, it's just the concept, please let me know if it is
> what
> > > you were looking for.
> >
> > > On Thu, Oct 30, 2008 at 9:31 AM, Valentin <[EMAIL PROTECTED]
> >wrote:
> >
> > >> Yes my natural instinct was to use $('#object_id').Render() ... I
> > >> found out this doesn't work (funny it didn't work in Prototype, which
> > >> I used to use until 3 days ago when I got annoyed with their zillion
> > >> bugs ...)
> >
> > >> So I'm using $('object#object_id')[0].Render() right now.
> >
> > >> But what about hide(), show() or other usual stuff (set css, etc.)
> > >> that should work, and I shouldn't have to write a whole new syntax for
> > >> them ...
> >
> > >> (ie right now I have to write $('object#object_id')[0].hide() instead
> > >> of $('#object_id').hide() ...
> >
> > >> Plus the error on the unload (which I fixed temporarily using the
> > >> patch presented in the link above -- the last two posts, but I would
> > >> rather have JQuery come up with an official solution for this -- as I
> > >> said this is an important issue, right now and for the future.)
> >
> > >> On Oct 30, 1:03 am, "Andrea Giammarchi" <[EMAIL PROTECTED]>
> > >> wrote:
> > >> > Yes, the summary is this: $('object')[0].Render();
> > >> > but Valentin probably expect same call for every matched object
> like:
> >
> > >> > $('object').each(function(){this.Render()});
> >
> > >> > sounds weird to me, but could be useful in some case, the problem is
> the
> > >> > returned value witn a $('object').Render() or
> $('object').TCallLabel()
> > >> ...
> > >> > one result, an arry with every result for each index, or jQuery
> itself?
> >
> > >> > The specific plugin should be simple in every case, but we miss the
> > >> expected
> > >> > behavior ... Valentin?
> >
> > >> > On Thu, Oct 30, 2008 at 1:42 AM, Ariel Flesler <[EMAIL PROTECTED]>
> > >> wrote:
> >
> > >> > > Definitely not something to add to the core, but easily doable
> with a
> > >> > > plugin by overloading $.fn.init or by simply adding to $.fn.
> >
> > >> > > I haven't interacted with stuff like that, but if I'm not wrong,
> the
> > >> > > gral pattern for this stuff would be something like:
> > >> > > $('object')[0].Render();
> >
> > >> > > It's the first I see such an idea of adding methods to a jQuery
> object
> > >> > > to handle specific elements inside it...
> > >> > > Still.. why not ?
> >
> > >> > > One idea, what about using/adding the object's id as jquery
> cache's
> > >> > > id ? It can't be just a number so no conflict can arise.
> > >> > > Problem is, we're modifying the environment what we usually don't
> do.
> >
> > >> > > --
> > >> > > Ariel Flesler
> > >> > >http://flesler.blogspot.com/
> >
> > >> > > On Oct 29, 7:58 pm, "Andrea Giammarchi" <
> [EMAIL PROTECTED]>
> > >> > > wrote:
> > >> > > > $('#id_of_object').Render()
> >
> > >> > > > really interesting problem, I am thinking about JS to Flash
> > >> dedicated
> > >> > > > functions as well.
> >
> > >> > > > Since there is a __defineGetter__ or a watch that work pretty
> well
> > >> but
> > >> > > does
> > >> > > > not make sense in IE, I think the core should be check if the
> > >> element
> > >> > > > nodeName is an object and in that case assign a list of "fake
> > >> functions"
> > >> > > > that invokes a specific one able to manage every case.
> >
> > >> > > > As example, the returned jQuery ArrayObject, if the element is
> an
> > >> object,
> > >> > > > should contain functions like:
> > >> > > > Render:function(){
> > >> > > >     return objectCallback.call(this, 'Render', arguments);},
> >
> > >> > > > TCallLabel**:function(){
> > >> > > >     return objectCallback.call(this, 'TCallLabel**',
> arguments);}
> >
> > >> > > > and so on, with those functions pre defined externally to avoid
> > >> creation
> > >> > > of
> > >> > > > hundreds of functions that do the same every time.
> >
> > >> > > > the objectCallback function should be something like
> > >> > > > function objectCallback(fnName, arguments){
> > >> > > >     return this[0][fnName].apply(this[0], arguments || []);
> >
> > >> > > > }
> >
> > >> > > > this means prepare the core to accept every kind of calable
> method
> > >> for
> > >> > > > video, object, applet, whatever tag ... so I suppose it should
> be
> > >> better
> > >> > > to
> > >> > > > let people be able to implement what they need, creating
> specific
> > >> plugins
> > >> > > > for every kind of tag.
> >
> > >> > > > Is my idea that bad?
> >
> > >> > > > Regards
> >
> > >> > > > On Wed, Oct 29, 2008 at 8:01 PM, Valentin <
> > >> [EMAIL PROTECTED]
> > >> > > >wrote:
> >
> > >> > > > > John,
> >
> > >> > > > > Thansk for the quick answer. On my testing environment I've
> > >> applied
> > >> > > > > the "patch" described in the bug ticket (the last two posts)
> and
> > >> that
> > >> > > > > took away the error on the unload. Still everything else
> remains
> > >> > > > > there. The funny thing is that I discovered this morning that
> I
> > >> can
> > >> > > > > select an object with the following clause
> >
> > >> > > > > $('object#id_of_object') and the properties work on Firefox
> then
> > >> > > > > (hide, show etc.)
> >
> > >> > > > > If I try $('#id_of_object') this doesn't work.
> >
> > >> > > > > Anyway, is there a time-table for the next version of the
> Jquery
> > >> that
> > >> > > > > addresses (at least part of) these issues?
> >
> > >> > > > > On Oct 29, 10:01 am, "John Resig" <[EMAIL PROTECTED]> wrote:
> > >> > > > > > I definitely agree that this is a big issue. We've discussed
> > >> this
> > >> > > > > > before but were unclear as to the ramifications of not
> attaching
> > >> > > > > > anything to these specific elements. Although since code is
> > >> breaking
> > >> > > > > > it definitely takes a high priority for us.
> >
> > >> > > > > > I'm not sure if the code to handle this should be in
> jQuery.data
> > >> or
> > >> > > > > > outside of it. I'm worried that if it's inside it'll
> > >> significantly
> > >> > > > > > slow down the number of cases where the method is
> referenced.
> >
> > >> > > > > > At the very least we've already resolved the unload issue in
> the
> > >> > > > > > nightlies - it's just a matter of attempting to fix the
> other
> > >> issues
> > >> > > > > > at play (events, selectors, and hide/show mostly).
> >
> > >> > > > > > --John
> >
> > >> > > > > > On Wed, Oct 29, 2008 at 12:21 PM, Valentin <
> > >> > > [EMAIL PROTECTED]>
> > >> > > > > wrote:
> >
> > >> > > > > > > As some of you know JQuery (as well as Prototype -- this
> was
> > >> > > initially
> > >> > > > > > > one of the reasons for switching) has serious issues when
> > >> dealing
> > >> > > with
> > >> > > > > > > the <object>, <embed> or <applet> tags.
> >
> > >> > > > > > > If one decides to be XHTML 1.0 strict compliant we have to
> use
> > >> the
> > >> > > > > > > <object> tag right now for Java applets, Flash movies, and
> > >> other
> > >> > > such
> > >> > > > > > > stuff.
> >
> > >> > > > > > > But because of a bug in the internal code of Jquery
> (namely
> > >> this
> > >> > > one:
> > >> > > > > > >http://dev.jquery.com/ticket/2349) we can't really use
> > >> something
> > >> > > > > > > like
> >
> > >> > > > > > > $('#id_of_object').hide() or even stuff that's relative to
> the
> > >> > > applet
> > >> > > > > > > (so say your applet has external function such as
> > >> applet.Render()
> > >> > > we
> > >> > > > > > > can't use $('#id_of_object').Render() )
> >
> > >> > > > > > > Since the upcoming XHTML 2.0 Specs will require pretty
> much
> > >> > > everything
> > >> > > > > > > but text to be inside an object tag I'm curious when this
> > >> problem
> > >> > > is
> > >> > > > > > > going to be solved and how ...
> >
> >
> >
>

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

Reply via email to