Really, is much more clean, Thanks for the tip!

On 5/24/07, Erik Beeson <[EMAIL PROTECTED]> wrote:

Seems like this comes up fairly often. A FAQ page about it might be nice...

Under the hood, they work the same way. The click/mousover/etc
versions are actually just shortcuts to bind('click', ...), etc.

I think which you use is just a personal preference. I think the
click() way was the original way, and the more generic bind() is
newer. I prefer the bind() version because I think the API is more
consistent. If you check out this page: http://docs.jquery.com/Events
You'll see there are three functions: bind, unbind, and one. The
similar syntax of bind and unbind make it pretty clear what's going
on. I think bind('click', function() {...}); unbind('click'); is much
more clear than click(function() {...}); unbind('click');
Similarly, 'bind' and 'one' have the same syntax. Again, I think
sometimes using click(...) and other times using one('click',...)
isn't as clear as using bind('click',...)/one('click',...).

Anyways, off my soap box now. In the long run, I don't think it really
matters. I know a bunch of the click/mouseover/etc type functions were
removed in version 1.1 (like oneclick and unclick and things like
that), so my thinking was the rest of the name based versions might
disappear in a future release and I'm trying to future proof. But I
don't know about that.

Again, this is mainly my opinion and shouldn't be interpreted as any
kind of official statement from the jQuery dev team.

--Erik


On 5/24/07, Jean Nascimento <[EMAIL PROTECTED]> wrote:
>
> But which is better and faster? bind or the click,mouseover, etc
>
> On 5/24/07, Erik Beeson <[EMAIL PROTECTED]> wrote:
> > Because the API for it is more consistent. Functionally it's the same as
> > what you had.
> >
> >
> > --Erik
> >
> >
> > On 5/24/07, zio budda < [EMAIL PROTECTED]> wrote:
> > > bind. Why bind ?
> > >
> > > M.
> > > --
> > > Michel 'ZioBudda' Morelli                       [EMAIL PROTECTED]
> > > Consulenza sistemistica in ambito OpenSource.
> > > Sviluppo applicazioni web dinamiche (LAMP+Ajax)
> > > Telefono: +39-3939890025 --  Fax: +39-0291390660
> > >
> > > http://www.ziobudda.net                         ICQ: 58351764
> > > http://www.ziobuddalabs.it                       Skype: zio_budda
> > > http://www.ajaxblog.it                          MSN:
> > [EMAIL PROTECTED]
> > >
> > >
> > > 2007/5/24, Erik Beeson <[EMAIL PROTECTED]>:
> > >
> > > > At least on FF, the mousedown event has a boolean property called
> > ctrlKey:
> > > >
> > > > $(...).bind('mousedown', function(event) {
> > > >   if(event.ctrlKey) {
> > > >     /* ctrl was down */
> > > >   } else {
> > > >     /* ctrl wasn't down */
> > > >   }
> > > > });
> > > >
> > > > Not sure if that's cross browser or not. Be careful about using the ctrl
> > key as CTRL-clicking on stuff can already have special meaning (like opening
> > in a new tab in FF/Win or showing the right-click menu on OS X).
> > > >
> > > > --Erik
> > > >
> > > >
> > > >
> > > >
> > > > On 5/24/07, zio budda < [EMAIL PROTECTED]> wrote:
> > > > > Hi all. I'm newbie about jquery so sorry for the stupid question.
> > > > >
> > > > > I have this code:
> > > > >
> > > > > <html>
> > > > > <head>
> > > > > <script type="text/javascript" src="jquery-1.1.2.js">
> > > > > <script>
> > > > > </script>
> > > > > </head>
> > > > > <body>
> > > > >
> > > > > <div id="contenitore" class="contenitoreC" style="border: 3px black
> > solid;float:left;" >
> > > > >     <div id="sotto1" class="interno" style="border:2px red solid;
> > width:200px;height:200px; float:left;"></div>
> > > > >     <div id="sotto2" class="interno" style="border:2px green solid;
> > width:200px;height:200px; float:left;"></div>
> > > > >     <div id="sotto3" class="interno" style="border:2px blue solid;
> > width:200px;height:200px; float:left;"></div>
> > > > >     <div id="sotto4" class="interno" style="border:2px yellow solid;
> > width:200px;height:200px; float:left;"></div>
> > > > >     <div id="sotto5" class="interno" style="border:2px orange solid;
> > width:200px;height:200px;float:left;"></div>
> > > > > </div>
> > > > > <script type="text/javascript">
> > > > > var _mousedown = -1;
> > > > > var last = -1;
> > > > > var lastlast = -1;
> > > > > var now = -1;
> > > > > var first = -1;
> > > > > var shift = -1;
> > > > > $(document).ready( function() {
> > > > >     $('div.interno').hover(
> > > > >         //IN
> > > > >         function() {
> > > > >             if (_mousedown == 0) {
> > > > >                 $(this).css('background','#999999');
> > > > >                 $(this).text('ippo');
> > > > >                 {
> > > > >                     lastlast = last;
> > > > >                     $('#divlastlast').text(lastlast)
> > > > >                     last = now;
> > > > >                     $('#divlast').text(last)
> > > > >                     now = $(this).attr('id');
> > > > >                     $('#divnow').text(now)
> > > > >                     if (now == lastlast || now == first) {
> > > > >
> > $('#'+last).css('background','white');
> > > > >                     }
> > > > >                 }
> > > > >             }
> > > > >         }
> > > > >         ,
> > > > >         //out Nulla da fare qui.
> > > > >         function () {}
> > > > >     );
> > > > >
> > > > >     $('div.interno').mousedown( function () {
> > > > >                     $(' div.interno').css('background','white');
> > > > >                     _mousedown = 0;
> > > > >
> > $(this).css('background','#999999')
> > > > >                     now = $(this).attr('id');
> > > > >                     first = $(this).attr('id');
> > > > >                     last = -1;
> > > > >                     lastlast = -1;
> > > > >                     $('#divfirst').text(now);
> > > > >                     $('#divnow').text(now);
> > > > >                     //alert($(this).attr('id'));
> > > > >                     });
> > > > >     //IF I uncomment this line keypress works
> > > > >     //$(document).keypress(function(e)
> > {alert(e.charCode); $('#debug').text(' ');for (i in e) {$('#debug').append('
> > -- ' + i);}});
> > > > >     $('div.interno').mouseup( function() {_mousedown = -1});
> > > > >     $('#contenitore').keypress(function (e) {
> > > > >                         alert('dentro');
> > > > >                 });
> > > > > });
> > > > > </script>
> > > > > <br clear="all">
> > > > > first:<div id="divfirst"></div>
> > > > > now:<div id="divnow"></div>
> > > > > last: <div id="divlast"></div>
> > > > > lastlast:<div id="divlastlast"></div>
> > > > > debug:<div id="debug"></div>
> > > > > </body>
> > > > >
> > > > > </html>
> > > > >
> > > > > I want to realize this: when the user click into one of #sotto[1-5]
> > div and the "CTRL KEY" is pressed the div change his background color (In
> > the code I have set the click way only). But I  have a problem about how to
> > intercept the "CTRL KEY". I have thinked that
> > > > > $('#contenitore').keydown() is "my friend", but it does not work. I
> > have tried the line that you see into the code, but I don't know why it does
> > not work with all key. Keypress works only on $(document).
> > > > >
> > > > > Where is my error ?
> > > > >
> > > > > Tnx.
> > > > >
> > > > > M.
> > > > > --
> > > > > Michel 'ZioBudda' Morelli                       [EMAIL PROTECTED]
> > > > > Consulenza sistemistica in ambito OpenSource.
> > > > > Sviluppo applicazioni web dinamiche (LAMP+Ajax)
> > > > > Telefono: +39-3939890025 --  Fax: +39-0291390660
> > > > >
> > > > > http://www.ziobudda.net                          ICQ: 58351764
> > > > > http://www.ziobuddalabs.it                      Skype: zio_budda
> > > > > http://www.ajaxblog.it                          MSN:
> > [EMAIL PROTECTED]
> > > >
> > > >
> > >
> > >
> >
> >
>
>
> --
>
> []´s Jean
> www.suissa.info
>
>    Ethereal Agency
> www.etherealagency.com
>



--

[]´s Jean
www.suissa.info

  Ethereal Agency
www.etherealagency.com

Reply via email to