If you're trying to avoid the default behaviour for the label (which is to
check/uncheck the appropriate form element), you may want to just use
prototypes "stop" [1] function. I've never done this, but something like the
following ought to work (I think):

Event.observe('mylabel', 'click', function(evt){
  Event.stop(evt);
});

You'll probably want a $$('label') call instead of 'mylabel', but you get
the idea.

[1] http://www.prototypejs.org/api/event/stop

On Tue, Jan 13, 2009 at 9:31 AM, Cyrus <arianglan...@googlemail.com> wrote:

>
> Ok, thanks.
>
> Let me describe my actual problem:
>
> I have a list with labels and checkboxes:
>
> <ul id="list">
> <li><label><input type="checkbox" /> My first checkbox</label></li>
> <li><label><input type="checkbox" /> My second checkbox</label></li>
> ...
> </ul>
>
> I wanted to have that list sortable. Very easy task with Sortable:
>
> Sortable.create("list");
>
> Works fine except one issue:
>
> Safari and Firefox interpret the drag and drop as a click on the
> label. Clicking on the label changes the status of the checkbox. There
> must be a way to prevent this.
>
> Do you have any ideas how to do this.
>
> I used the Sortable callback onChange to save the checkbox status
> before the drop. The other callback onUpdate is fired before the click
> on the label takes effect. I would like to add another change listener
> to the checkbox that only takes effect when onUpdate was fired.
>
> On 13 Jan., 14:44, "T.J. Crowder" <t...@crowdersoftware.com> wrote:
> > Hi Cyrus,
> >
> > I don't know much about script.aculo.us, but looking at it
> > (dragdrop.js), Sortable isn't a class (in the loose way we use that
> > word in this classless prototypical language JavaScript), it's just an
> > object with a bunch of functions assigned as properties.  So you won't
> > be able to extend it in this way.  Perhaps someone who's done more
> > with script.aculo.us can point you to a convenient way to achieve the
> > result you're looking for.
> >
> > FWIW,
> > --
> > T.J. Crowder
> > tj / crowder software / com
> > Independent Software Engineer, consulting services available
> >
> > On Jan 13, 1:27 pm, Cyrus <arianglan...@googlemail.com> wrote:
> >
> > > Hi,
> >
> > > I want to extend the Sortable class from the scriptaculous library.
> > > Where is my mistake? It's telling me SortableLabelList.create doesn't
> > > exist - I assumed it is inherited from Sortable.
> >
> > > // extend
> > > SortableLabelList = Class.create(Sortable, {
> > >         // redefine onHover
> > >         onHover: function($super, element, dropon, overlap) {
> > >                 $super();
> > >                 console.log(element);
> > >                 console.log(dropon);
> > >                 console.log(overlap);
> > >         }
> >
> > > });
> >
> > > // create list
> > > SortableLabelList.create("...");
> >
>


-- 
Jerod Venema
Frozen Mountain Software
http://www.frozenmountain.com/
919-368-5105

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Prototype & script.aculo.us" group.
To post to this group, send email to prototype-scriptaculous@googlegroups.com
To unsubscribe from this group, send email to 
prototype-scriptaculous+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/prototype-scriptaculous?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to