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 に答える