0

私はこの質問を読みました:Twitter Bootstrap ScrollSpyを使用して関数を実行する方法。これは、最初にイベントを取得し、次に特定の関数を追加するというものです。まず、私はjQueryに比較的慣れていないため、イベントを取得する方法がわかりません。

これが私のコードです:

$(".navbar").scrollspy();
$('[data-spy="scroll"]').each(function()
{
    $(this).scrollspy('refresh');
});
$("ul.nav li").on("activate", function()
{
    console.log("ACTIVATED");
});

もちろん、手動でトリガーすると関数が実行されますが、私が何をしようとしても、機能しないようです。

何か案は?

4

2 に答える 2

2

コードは正しいです。Bootstrap の最新 (2.1.0) リリースで問題が修正されています。

https://github.com/twitter/bootstrap/issues/3316を参照し、次の作業スクリプトにアクセスしてください: https://github.com/twitter/bootstrap/blob/2.1.0-wip/js/bootstrap-scrollspy.js .

于 2012-07-25T13:07:21.073 に答える
1

li要素にドロップダウンクラスがない可能性があります

li.dropdown

それ以外の場合は、要素に.dropdown-menu ...と一致する親がある場合に彼が特に.dropdownを検索するため、機能しません。私の場合は常にtrueでした。ブートストラップでそれを行うコードは次のとおりです。

      active = $(selector)
      .parent('li')
      .addClass('active')

    if (active.parent('.dropdown-menu'))  {
      active = active.closest('li.dropdown').addClass('active')
    }

    active.trigger('activate')
于 2012-11-07T01:03:13.250 に答える