在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 »</a></p>
</div>
答案 0 :(得分:4)
ID不能以数字开头;结果是未定义的(可能)在Internet Explorer中被破坏。修复您的ID属性(1_EH
/ 1_S
/ etc),以字母而不是数字开头。
答案 1 :(得分:1)
e.preventDefault()应该是函数(e)之后的第一行:
$("#2_EH").click(function(e){
e.preventDefault();
...stuff to be done...
});
此处修复的示例代码:http://jsbin.com/welcome/54005/
请不要删除,但请注意,从正确答案的海报来看,这个答案实际上是不正确的,应予以忽视。
答案 2 :(得分:-1)
尝试从链接中的href中删除哈希标记。