Good point, and yeah - I hadn't considered needing to pass the other
arguments to apply().
You're probably right about the overhead in using merge or update, and
I had thought about efficiency issues when writing that response. I
thought it would look more like MochiKit, as machineghost asked, but
sometimes you use a hammer so much everything begins to look like
nails.
Thanks, Bob, for the great toolkit!
- Kevin
On Dec 17, 2007 2:11 PM, Bob Ippolito <[EMAIL PROTECTED]> wrote:
> It still wouldn't work because you need the arguments object, not
> arguments[0], for the call to apply.
>
> My personal preference would be to use merge because it wouldn't
> mutate the input object you give it, but there are potential
> efficiency concerns with all that extra overhead. The original
> solution was probably fine. MochiKit isn't a replacement for
> JavaScript, you shouldn't try and wedge it in everywhere just because
> it might be possible :)
>
> -bob
>
>
> On 12/17/07, Kevin Damm <[EMAIL PROTECTED]> wrote:
> >
> > Oops, that should probably be arguments[0]
> >
> >
> > On Dec 17, 2007 2:00 PM, Kevin Damm <[EMAIL PROTECTED]> wrote:
> > > Maybe use MochiKit.Base.merge or MochiKit.Base.update:
> > >
> > > function CHECKBOX() {
> > > return INPUT.apply(this, update(arguments, {'type': "checkbox"}));
> > > }
> > >
> > > - Kevin
> > >
> > >
> > > On Dec 17, 2007 1:30 PM, machineghost <[EMAIL PROTECTED]> wrote:
> > > >
> > >
> > > > I recently found myself doing this a lot:
> > > > var a = INPUT({type:"textbox"});
> > > > var b = INPUT({type:"checkbox"});
> > > > var c = INPUT({type:"hidden"});
> > > > etc.
> > > >
> > > > So I wanted to make short-hand functions like CHECKBOX and HIDDEN
> > > > which would work exactly like INPUT, only with a pre-specified type.
> > > > At first I thought I could do this:
> > > > CHECKBOX = createDOMFunc("input", {type:"checkbox"});
> > > >
> > > > but that eliminated all other attributes (since the {type:"checkbox"}
> > > > replaced my attributes argument). I played around a bit, and
> > > > eventually found that I could make it work with:
> > > > function CHECKBOX(){
> > > > arguments[0]["type"] = "checkbox";
> > > > return INPUT.apply(this, arguments);
> > > > }
> > > >
> > > > But that doesn't seem very MochiKit-ish to me, so I was wondering if
> > > > there was a cleaner way to do the above using bind or partial or
> > > > something. Also, I was curious as to how people feel about these
> > > > short-hand functions, and whether or not they'd be useful enough to
> > > > include in MochiKit.DOM.
> > > >
> > > > Any thoughts/feedback would be appreciated.
> > > > Jeremy
> > > >
> > > >
> > > >
> > > > So my question is, is th
> > > > > >
> > > >
> > >
> >
> > > >
> >
>
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"MochiKit" 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/mochikit?hl=en
-~----------~----~----~----~------~----~------~--~---