老生常谈:ie6下,a标签href设置javascript:void(0);后绑定的click失效

原创
2015/06/29 14:04
阅读数 1.2K

老生常谈:ie6下,a标签href设置javascript:void(0);后绑定的click事件,如果有form表单提交或跳转等事件,会失效!举例:

<a id="id_back" href="javascript:void(0);" title="返回管理">返 回</a>

    $("#id_back").click(function(){
        $("#id_frm").submit();
    });

为什么呢?原因是:别的浏览器,会优先执行click事件里的方法;但对于ie6浏览器,href的优先级高于click事件,只执行了href上的链接void(0);则不会再执行click事件里的跳转动作。

如果解决呢?通常,在绑定事件的时候,return false,阻止浏览器默认行为。

    $("#id_back").click(function(){
        $("#id_frm").submit();
        return false;
    });

进一步分析尝试后,如下,分开执行的时机,就能提交了。

    $("#id_back").click(function(){
        window.setTimeout(function(){
            $("#id_frm").submit();
        }, 0);
    });

展开阅读全文
打赏
2
3 收藏
分享
加载中
更多评论
打赏
0 评论
3 收藏
2
分享
返回顶部
顶部