0

在 IE 上遇到问题,在单击切换按钮后,将 # 添加到 URL 的末尾。(即 website.com/direc/main.html* # *

这将禁用所有切换功能。无法在 FireFox 上复制该问题。我有一个 e.preventDefault(); 在每个功能中,但我无法通过将 e.prevent 放在不同的位置来解决此问题。

下面的代码:

    $(document).ready(function(){
      $("#1_EH").click(function(e){ 
        $("#1_S").slideToggle("slow");
e.preventDefault(); 
        }); 
    });
    $(document).ready(function(){
      $("#2_EH").click(function(e){ 
        $("#2_S").slideToggle("slow"); 
        e.preventDefault(); 
        }); 
     });

<a href="#" id="1_EH"><img src="pic.jpg" border="0" alt="" /></a>
<div class="client_box" id="1_S">
    <h2>text</h2>
    <p>text<a href="http://www.url.com" target="_blank">Directions &raquo;</a></p>
</div>
4

3 回答 3

4

ID不能以数字开头;结果是未定义的,并且(可能)在 Internet Explorer 中被破坏。修复您的 ID 属性 ( 1_EH/ 1_S/etc) 以字母而不是数字开头。

于 2012-11-27T17:21:41.330 回答
1

e.preventDefault() 应该是函数(e) 之后的第一行:

   $("#2_EH").click(function(e){ 
            e.preventDefault(); 
    ...stuff to be done...
    });

此处修复的示例代码:http: //jsbin.com/welcome/54005/

但是,不删除,请注意,从正确答案的海报中,这个答案实际上是不正确的,应该被忽略。

于 2012-11-27T17:21:32.550 回答
-1

尝试从链接中的 href 中删除哈希标签。

于 2012-11-27T17:18:38.250 回答