0

実装してみました: http://aext.net/2009/08/perfect-sign-in-dropdown-box-likes-twitter-with-jquery/

リンクをクリックすると表示され、もう一度クリックすると非表示になります。また、開いているドキュメントの他の場所をクリックすると非表示になります。

このページに実装してみました: http://hevvo.eu/~dev/backtrack/index.php

ただし、リンクをクリックしてからドキュメントをクリックした場合にのみ機能し、リンクを再度クリックした場合には機能しません。自分のコードの何が違うのかわかりません..

4

2 に答える 2

2

これを追加して修正しました。

    $(".sign-in").mouseup(function() {
            return false
        });

助けてくれたすべての人に感謝します。

于 2012-10-10T17:37:58.080 に答える
2

preventDefault()1つの違いは、クリックハンドラーでイベントオブジェクトを呼び出さないことです。また、トリガーリンクにはクラスメニューがあります-ハードコードされて開きます。

編集

jQueryでイベントハンドラーをバインドすると、関数には、使用できるさまざまなプロパティとメソッドを持つイベントオブジェクトが自動的に渡されます。これらのメソッドの1つが呼び出されpreventDefault()、そのイベントが発生したときにブラウザがデフォルトのアクションを実行するのを停止します。このメソッドは次のように呼び出すことができます。

$("a_selector").click(function(event) {

    //stop browser performing default action, e.g following a link
    event.preventDefault();

    //do your other stuff here
});

bind()イベントオブジェクトは、、、、などのjQueryのイベント処理メソッドlive()のいずれdelegate()かでハンドラーに渡されますon()on()もちろん、推奨されるメソッドであり、live()現在delegate()は非推奨です) 。

于 2012-10-08T18:57:36.803 に答える