5

ボタンをダブルクリックするとボタン全体がハイライトされてしまうのが面倒なので、ハイライトの発生を止める機能を追加することで修正しようとしましたがpreventDefault()、発生を止めることはできません。 :(とにかくこれが無視してボタン/テキストを強調表示
している理由を誰か教えてください?:event.preventDefault();

HTML:

<div class="loading-boundary">
    <div class="redesign-due-date-container">
        <div class="property due_date flyout-owner overdue value-set" style="margin-left:-3px">
            <div class="property-name">
                <span data-icon="calendar" class="calendar glyph toolbar-icon prod"></span>
                <span class="grid_due_date overdue">Yesterday</span>
            </div>
        </div>
    </div>
</div>

JS:

$(".property.due_date").click(function(event) {
    event.stopPropagation();
    event.preventDefault();

    var e = $(".show-full-duedate");

    if (e.css("display") != "block") {
        $(this).addClass("focused");
        e.css("display", "block");
    } else {
        $(this).removeClass("focused");
        e.css("display", "none");
    }

    return false;
});

テストには最新バージョンの Chrome を使用しています。
また、強調表示を停止するように CSS を設定すると、ボタンがクリックされていない場合でも、ボタンのすべての強調表示が停止するため、これはオプションではありません。

4

2 に答える 2

5

試す:

$(".property.due_date").on('click', function(event) {
    event.preventDefault();

    var elem = $(".show-full-duedate");

    elem.toggleClass('focused', elem.is(':visible'))
        .toggle(elem.is(':visible'))

    document.onselectstart = function() { return false; };
    event.target.ondragstart = function() { return false; };
    return false;
});

フィドル

最後の 3 行は、選択を妨げます。

于 2013-07-15T21:20:08.423 に答える
0

ダブルクリック後に要素が強調表示されることについて話していると仮定します。

同様の質問をしている別の投稿を見つけました。-リンク

これを禁止する簡単な方法はないように思えますが、要素が選択された後に要素を「選択解除」することはできます。

お役に立てれば。

于 2013-07-15T21:20:24.317 に答える