2

いくつかの JQuery タブを追加しました。そのうちの 1 つをクリックするたびに、リンクの ID が URL に追加され、URL にジャンプします。これは本当に面倒です。タイムアウトの設定やポストバックの停止などのいくつかの修正を探しましたが、何も機能していないようです。誰かアイデアはありますか?

<script type="text/javascript">

      $(document).ready(function () {        

          $('.moo').click(function (evt) {
            // stops from submitting the form
            evt.preventDefault();
            return false;
        });


        $("#tabs").tabs();

        setTimeout(function () {
            if (location.hash) {
                window.scrollTo(0, 0);
            }
        }, 1);

    });

</script>




<div id="tabs">
    <ul>
        <li><a href="#tabs-1" class="moo" onclick="return false;" >Nunc tincidunt</a></li>
        <li><a href="#tabs-2" class="moo" onclick="return false;" >Proin dolor</a></li>
    </ul>

    <div id="tabs-1">
        <uc1:PrizeDrawMiniListControl ID="PrizeDrawMiniListControl1" runat="server" />
    </div>

    <div id="tabs-2">
        <uc2:MostViewedControl ID="MostViewedControl1" runat="server" />
    </div>
</div>

編集:

リンクはポストバックではなく、スクロールしているだけです

4

3 に答える 3

5

http://jsfiddle.net/3au7K/現在正常に動作しています。

javascript関数をこれに変更します

$(document).ready(function () {        

      $('.moo').click(function (evt) {
        // stops from submitting the form
        evt.preventDefault();
        return false;
    });


    $("#tabs").tabs();

    // This will work for dynamically added tabs as well

    $("#tabs ul li").delegate('a', 'click', function(e){
         e.preventDefault();
         return false;
    });
});

この小さなハックでうまくいきます。初期化後にJQueryタブはhref属性を必要としないため、害はありません。

于 2012-09-17T09:17:53.573 に答える
1

onclick=return false;アンカータグから削除して、次のように試してください:

$('a[href^="tabs-"]').on('click', function(e) {
  e.preventDefault();
});
于 2012-09-17T09:04:19.163 に答える