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

老生常谈: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);
    });

时间: 2024-10-26 11:37:35

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

IE6下A标签href和onclick同时存在时的问题

请求的链接是用的 A 标签,A上同时写了href和 A 标签而言,当用户鼠标单击的时候,A对象被触发时会首先去执行 请求.瞬时又执行href,这时ie6就会abort前一个请求. 解决方法就是:直接把onclick事件写在href中:href="javascript:do()" 还有一种解决方案:<a href="javascript:void(0)" false;">Test</a> 这样是忽略了href部分,这对于通过oncli

a标签中的href:JavaScript:void(0) # 等

参考自:http://segmentfault.com/q/1010000000339082 给<a>标签增加href属性,就意味着以下事情: :link选择器可以选择到它 这个<a>标签可以获得焦点(可以通过tab按键访问到) 在浏览器的默认样式表中,有href属性的<a>标签才有cursor:pointer的效果(尤其是在低版本的IE上). 绑定了onclick事件的<a>标签,尤其是它的作用是ajax请求时,基本上我们就用不上这个标签的默认行为,也连接

href=&amp;quot;javascript:void(0);&amp;quot;与#差异

将<a>标签设置为空链接有两种方式.第一个是href="#",第二个是href="javascript:void(0);". 两种方式都设置了标签为空链接.可是两种方式还是有些不同的地方. href="#".当点击的时候会跳转到页面的顶部,相当于点击了一个锚点,在URL的后面也会出现一个#的标识符号. 而href="javascript:void(0);"则是要运行一个javascript的表达式. void(0)

【转】href=&quot;#&quot;与&quot;javascript:void(0);&quot;的区别

在工作中,如果我们想把a标签中的链接置成空链接,我们一般会用两种方法: 1 <a href="#" target="_blank"></a> 或者 1 <a href="javascript:void(0);" target="_blank"></a> 以上两种方法很多人都认为是空链接的方法,但是这两种方法是有区别的,到底有什么区别呢?今天我们来聊一下. href="#

js javascript:void(0) 真正含义

http://www.cnblogs.com/opper/archive/2009/01/12/1373971.html js javascript:void(0) 真正含义 我想使用过ajax的都常见这样的代码:<a href="javascript:doTest2();void(0);">here</a>但这儿的void(0)究竟是何含义呢?Javascript中void是一个操作符,该操作符指定要计算一个表达式但是不返回值.void 操作符用法格式如下:1

为了防止页面重新自动加载,可以给a标签设置href=&quot;javascript:void(0);&quot;

<a href="javascript:void(0);"></a> <!--按照格式要求,此处的0不能省略!! 虽然省略看上去也没什么影响.但是当发生点击事件的时候, 就会报错: Uncaught SyntaxError: Unexpected token ) --> <!--或者像下面这样: --> <a href="javascript:;"></a> 原文地址:https://www.c

浮动元素的兼容以及ie6下li标签的部分兼容性问题

清除浮动的方法有许多比较常用的是 .clear{zoom: 1;} .clear:after{content: "";display: block;clear: both;} after伪类元素末尾添加内容Ie6,7不兼容可以用zoom来解决(zoom缩放会触发ie下的haslayout使元素根据自身内容计算宽高但火狐不支持但可以通过after伪类解决) 两者结合解决的浏览器不兼容的问题: ie6下li标签的部分兼容性问题: 可以通过给li标签加 vertical-align: top

a标签的href=&quot;javascript:void(0)&quot;和href=&quot;#&quot;的区别

好文要推:a标签的href="javascript:void(0)"和href="#"的区别 张鑫旭这篇文章也挺风趣的,作为一个轻微代码洁癖的程序员,该纠结时就纠结:是习惯还是规范!?   疑问:为什么要使用href="javascript:void(0);"? a 标签要写href属性!~有了href属性,天然鼠标手型,以及可以被键盘focus以及focus时候回车模拟点击行为(支持回车点击和默认可以获取焦点). href="#&qu

IE下href=&quot;javascript:void(0) 会弹出空白页

经过排查,发现是href="javascript:void(0);"导致的问题,本来javascript:void(0);的用处是不用整体刷新网页且返回一个空值,但这儿由于DOM本身的冒泡事件所以会最后执行HREF属性内的javascript:void(0);导致执行函数返回了一个空值,所以覆盖掉了前面正常执行函数所返回的值引起的错误. 一般情况下,IE会先运行DOM本身绑定的事件,如ONCLICK;如果没有阻止冒泡,则会顺序执行HREF属性.如果想正确运行,可以在前面用RETURN