3

私はこの質問をいたるところで見てきました。私が見つけた複数の異なるソリューションを実装しましたが、何も機能していないようです。サブメニューを含むブートストラップの折りたたみ可能なメニューがあります。サブメニュー リンクをクリックすると、サブメニューが閉じられるだけで、リンクにリダイレクトされません。私は、トリックを行うと思っていた次のスクリプトを実装しました。

$('.dropdown-toggle').click(function(e) {
    e.preventDefault();
    setTimeout($.proxy(function() {
        if ('ontouchstart' in document.documentElement) {
            $(this).siblings('.dropdown-backdrop').off().remove();
        }
    }, this), 0);
});

このスクリプトを使用すると、タッチスクリーン デバイスでサブメニューをドロップダウンできますが、リンクが機能しません。行を削除しようとしましたe.preventDefault();が、それもうまくいかなかったようです。

サブメニュー リンクをモバイル タッチスクリーンで動作させるにはどうすればよいですか? デスクトップでは問題なく動作し、タッチスクリーンのリンクを押したままにすると、正しいリンクを新しいタブで開くことができますが、タップするだけでは機能しません。

編集:これが私のHTMLの一部です:

<div class="span3">
    <li class="dropdown-submenu">
        <a href="#" tabindex='-1' class="dropdown-toggle nav-header" data-toggle="dropdown"><i class='icon-time'></i>Time Clock Management</a>
        <ul class='dropdown-menu'>
            <li><a href="#">Labor Scheduling</a></li>
            <li><a href="/change-manager/">Change Manager</a></li>
        </ul>
    </li>
</div>
4

1 に答える 1

11

次の JavaScript を追加して、この問題を修正しました。

$('.dropdown-submenu ul.dropdown-menu li a').on('touchstart', function(e) {
    e.preventDefault();
    window.location.href = $(this).attr('href');
})
于 2013-08-22T19:55:12.917 に答える