Yes, good points everyone and I stand corrected.

I don't advocate inline JS, however I do produce mock-up/prototype/concept
pages pretty frequently (not meant for public use or distribution) where I
need to show functionally how an element will behave. In these cases, its
easiest for me to simply use href="javascript:;" as it produces the intended
result yet has no side-effects, and it lets us click the links but doesn't
take us out of the prototype (and the only reason that's necessary is
because IE doesn't treat <a>'s as links unless they have an href attribute
[no :hover, text-decoration, etc]).

I didn't think about it until now, but I suppose an easier method would be
to use jQuery to preventDefault() on all of the <a>'s in my prototypes?


On 2/16/07, Yehuda Katz <[EMAIL PROTECTED]> wrote:

Yes yes yes!

Just a quick note: you can use "return false" perfectly fine in jQuery. In
fact, it'll work for all browsers, even if it doesn't normally work exactly
right. You can use preventDefault() as well, if you just want to stop the
default action but not stopPropagation (return false in jQuery blocks the
default action and prevents further propagation).

-- Yehuda

On 2/16/07, Tim Baxter <[EMAIL PROTECTED]> wrote:
>
> No... you don't put the onclick handler on the link either. Keep your JS
> out of your HTML.
>
> If it's a link that's ONLY there for the JS to do something, insert the
> link with the JS.
> If it's a link that can degrade gracefully (the preferred scenario),
> then put the link in, then override it's action.
>
> Whether the link is a full link, an anchor link, or just a dummy # link,
> return false (or, in jquery, preventDefault();) will prevent it from
> scrolling or otherwise causing you trouble.
>
> This is basic unobtrusive scripting.
>
>
> On 2/16/07, Kenneth < [EMAIL PROTECTED]> wrote:
> >
> > I actually prefer javascript:; since using # usually scrolls the page
> > to the top which can be really annoying. If it's not a real link I don't see
> > what the problem is there.
> >
> > Now, if it's an actual link that you're wanting to apply an onclick
> > function to, you should use the onclick="javascript:return myfunc();"
> > attribute, use the normal URL in the href="", and then return true/false
> > from myfunc() depending on whether or not you want to link to be activated
> > by the click.
> >
> > On 2/16/07, hcabbos <[EMAIL PROTECTED] > wrote:
> > >
> > > What's the best way to apply a behavior to an anchor tag?
> > >
> > > <a href="#" class="someClass">my text</a>
> > >
> > > -- or --
> > >
> > > <a href="javascript:;" class="someClass">my text</a>
> > >
> > > _______________________________________________
> > > jQuery mailing list
> > > [email protected]
> > > http://jquery.com/discuss/
> > >
> > >
> >
> > _______________________________________________
> > jQuery mailing list
> > [email protected]
> > http://jquery.com/discuss/
> >
> >
>
> _______________________________________________
> jQuery mailing list
> [email protected]
> http://jquery.com/discuss/
>
>


--
Yehuda Katz
Web Developer | Wycats Designs
(ph)  718.877.1325
_______________________________________________
jQuery mailing list
[email protected]
http://jquery.com/discuss/


_______________________________________________
jQuery mailing list
[email protected]
http://jquery.com/discuss/

Reply via email to