前端们,大家是习惯href="#"还是href="Javascript:void();" - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
sd4399340
V2EX    问与答

前端们,大家是习惯href="#"还是href="Javascript:void();"

  •  
  •   sd4399340 2012-03-29 14:32:10 +08:00 6477 次点击
    这是一个创建于 4951 天前的主题,其中的信息可能已经有所发展或是发生改变。
    平常用JQuery给a绑定click事件,为了让鼠标hover上去显示手形,必须要指定href属性~

    以前都是用href="Javascript:void();",觉得写起来字太多,后来用href="#",但是一点就会回到上面去,也有点闹心,大家一般什么习惯?还是直接在click时间里返回false啊?
    49 条回复    2015-11-26 10:18:15 +08:00
    sonicwu
        1
    sonicwu  
       2012-03-29 14:40:13 +08:00
    href="Javascript:;"
    master
        2
    master  
       2012-03-29 14:45:05 +08:00
    关于那个Javascript:void();引发的血案神马的→_→
    dongsheng
        3
    dongsheng  
       2012-03-29 14:45:08 +08:00
    用href="###"就不会跳
    kaifazhe
        5
    kaifazhe  
       2012-03-29 15:11:06 +08:00
    href="Javascript:"
    j1anb1n
        6
    j1anb1n  
       2012-03-29 15:19:29 +08:00
    href="Javascript:false;"
    darasion
        7
    darasion  
       2012-03-29 15:22:37 +08:00
    习惯用#号,不过我觉得在后边加个有意义的名字更好。
    例如这样:

    href="#有意义的名字"
    herolee
        8
    herolee  
       2012-03-29 15:29:48 +08:00
    Javascript:;
    loo2k
        9
    loo2k  
       2012-03-29 15:32:38 +08:00
    Javascript:void(0)
    justfindu
        10
    justfindu  
       2012-03-29 15:37:53 +08:00
    void(0) 貌似有一个什么小功能来着0 0
    hellosun
        11
    hellosun  
       2012-03-29 15:38:31 +08:00
    href="###"
    underone
        12
    underone  
       2012-03-29 15:43:03 +08:00
    ###
    dongbeta
        13
    dongbeta  
       2012-03-29 15:44:44 +08:00
    教你一招:

    <a href="#this">这个点击不会移动页面哦</a>
    dongk
        14
    dongk  
       2012-03-29 15:50:05 +08:00
    @master 求详情。。。
    lossdante
        15
    lossdante  
       2012-03-29 16:09:56 +08:00
    为了hover显示手形指针么,那直接cursor:pointer;不就好了
    deepure
        16
    deepure  
       2012-03-29 16:12:12 +08:00
    楼上+1
    airyland
        17
    airyland  
       2012-03-29 16:15:57 +08:00
    1.cursor:pointer指定指针形状为手形。
    2.既然是绑定了事件,那e.preventDefault();就不会跳到页面上部了。
    3.从Graceful Degradation的角度来说,href应该写个可用地址。
    ong
        18
    ong  
       2012-03-29 16:28:16 +08:00
    #;
    hilyjiang
        19
    hilyjiang  
       2012-03-29 16:29:38 +08:00
    不喜欢在HTML里参杂JS代码,用#
    zxwind
        20
    zxwind  
       2012-03-29 16:35:39 +08:00
    既然只是要绑定onclick并显示手形,用button+cursor:pointer就可以了吧
    EchoFUN
        21
    EchoFUN  
       2012-03-29 16:46:40 +08:00
    @dongbeta really?所有的浏览器都兼容么?
    qiuai
        22
    qiuai  
    PRO
       2012-03-29 17:22:41 +08:00
    #
    hdlifes
        23
    hdlifes  
       2012-03-29 17:35:31 +08:00
    LZ的头像和推上是一样的吗?
    Javascript:; 常用
    aligo
        24
    aligo  
       2012-03-29 17:36:16 +08:00
    我都是直接href到目标页面,然后需要异步在绑定click,可以做到兼容例如不支持js的设备(虽然现在已经很少了)和爬虫识别
    sd4399340
        25
    sd4399340  
    OP
       2012-03-29 17:46:37 +08:00
    @hdlifes 一样啊,咱们不是互相关注的嘛
    dongbeta
        26
    dongbeta  
       2012-03-29 17:48:59 +08:00
    @EchoFUN 兼容性未知,我在safari下正常
    lepture
        27
    lepture  
       2012-03-29 17:51:18 +08:00
    # ,然后 e.preventDefault ,也就是jQuery里的 return false

    链接不会改,也不会跳。
    sd4399340
        28
    sd4399340  
    OP
       2012-03-29 17:54:27 +08:00
    @lepture 其实这种蛮好的,也是有点麻烦~
    sd4399340
        29
    sd4399340  
    OP
       2012-03-29 17:55:27 +08:00
    @dongsheng @hellosun @underone 这个真心不错~试试~
    sd4399340
        30
    sd4399340  
    OP
       2012-03-29 17:55:40 +08:00
    @master 求科普~
    ygmpkk
        31
    ygmpkk  
       2012-03-29 19:08:50 +08:00
    习惯用Javascript:void();

    花括号喜欢{

    而不习惯
    {

    习惯问题吧
    shuang3281
        32
    shuang3281  
       2012-03-29 23:10:56 +08:00
    Javascript:;
    +1
    Mose
        33
    Mose  
       2012-03-29 23:26:46 +08:00
    Javascript:void();是什么作用?
    arzusyume
        34
    arzusyume  
       2012-03-30 09:09:06 +08:00
    Javascript:;
    算是洁癖吧,看到url后面的#很不爽
    hzlzh
        35
    hzlzh  
    PRO
       2012-03-30 10:07:17 +08:00
    用#,考虑到别人看的可读性,即便一些不懂的代码的人,也知道这里可以替换成链接。
    ohsc
        36
    ohsc  
       2012-03-30 10:13:24 +08:00
    两个都不好,最佳体验是,href提供跳转同时js劫持跳转。

    我一般会用jquery的delegate指定凡是带上.nojump的链接都禁止跳转。

    这样好处是,当js还没加载时,用户可以使用降级版本。js加载后可以使用高级版本。
    lhj2100
        37
    lhj2100  
       2012-03-30 10:16:56 +08:00
    #;页面不会跳动..
    smallcolor
        38
    smallcolor  
       2012-03-30 10:17:18 +08:00
    #nogo
    NemoAlex
        39
    NemoAlex  
       2012-03-30 10:20:45 +08:00
    如果有链接就href里写链接,Javascript 在 Click 事件末尾 return false
    如果不是一个真正的链接,那么就不要加 href 属性,样式由 CSS 控制
    href="#" 这种做法会在 uri 里加上没有意义的 # 号
    href="#this" 是胡扯,# + 任意一个不存在的标签页面就不会跳转了,可是这种东西没有意义,并且丑陋
    FrankFang128
        40
    FrankFang128  
       2012-03-30 10:53:32 +08:00
    @master 什么血案?求link
    mew
        41
    mew  
       2012-03-30 11:20:32 +08:00
    好深奥。
    ohsc
        42
    ohsc  
       2012-03-30 13:34:13 +08:00
    其实都能实现你所要的问题。
    所以你要考虑的是语义、维护成本和极端情况下的体验。根据具体需求再决定选哪个。
    xwsoul
        43
    xwsoul  
       2012-03-30 14:26:01 +08:00
    ### 表示没有压力..但是我不喜欢url里出现 ### Orz 所以我比较喜欢Javascript:void(0);
    westup
        44
    westup  
       2012-03-30 14:52:51 +08:00
    我用#,然后 e.preventDefault();
    frittle
        45
    frittle  
       2012-03-30 15:05:06 +08:00
    Javascript:void(0); 忘了哪个浏览器void()括弧里面没0的话会报错。
    trista099
        46
    trista099  
       2012-03-30 16:17:16 +08:00
    爱油,亲,看着有点眼熟啊
    sd4399340
        47
    sd4399340  
    OP
       2012-03-31 16:25:03 +08:00
    @trista099 哥早就关注你了亲~
    sox
        48
    sox  
       2015-11-26 10:17:44 +08:00
    #; #$ #^ $* #.
    sox
        49
    sox  
       2015-11-26 10:18:15 +08:00
    #+无意义字符。。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     882 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 21:16 PVG 05:16 LAX 14:16 JFK 17:16
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86