質問

次のコード

$("#logoutLink").click(function(event) {

    event.preventDefault();

    var dataString = "action=confirm";

    $.ajax({
        type: "POST",
        url: "requests.php",
        data: dataString,
        success: function(msg) {
            if (msg == "success") {
               alert('logged out');
            } else {
                showNotification("error", "" + msg + "");
            }
        },
        error: function() {
            showNotification("error", "Could not log you out at this time, try again.");
        }
    });

    return false;
});
.

とid="logoutlink" のリンク

ログインシステムがリンクを更新してHTMLコンテンツを追加し、Logout LinkがHTMLに存在しないため、LinksでHTMLコンテンツを追加しているため、予防者Defaultは初めて動作しません。問題はありますが、私の質問は、HTMLコンテンツがページの更新なしでLink ID LogoutLinkが追加されたことを知っているのでしょうか。

役に立ちましたか?

解決

あなたの質問は明確ではありませんが、リンクを動的に追加することで、.live('click', ...)、またはNew JQuery 1.7 .on()を使用する必要があります。

他のヒント

あなたの質問は少し混乱していますが、live()を使ってあなたのイベントハンドラをバインドしてみてください:

$("#logoutLink").live('click', function(event) {
    // ...
.

http://api.jquery.com/live/ 詳細については、

ログインシステムがリンクを追加した後にのみクリックハンドラ$("#logoutLink").click(function(event) {}を追加する必要があるため、次のを実行します。

function addHandlers(){
    $("#logoutLink").click(function(event) {
         event.preventDefault();
         // anything else
    }
}

$(document).ready(function(){
    addHandlers();
});
.

リンクが追加されたときにaddHandlers();を呼び出します

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top