jQuery preventDefault()在第一次单击时不起作用

jQuery preventDefault()在第一次单击时不起作用,jquery,click,preventdefault,Jquery,Click,Preventdefault,我有以下代码 $("#logoutLink").click(function(event) { event.preventDefault(); var dataString = "action=confirm"; $.ajax({ type: "POST", url: "requests.php", data: dataString, success: function(msg) {

我有以下代码

$("#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内容(其中是注销链接,因此该项在html中不存在),因此preventDefault第一次不起作用,我知道这是问题所在,但我的问题是,我如何让它知道html内容已添加了链接id logoutLink而没有页面刷新?

您的问题有点混乱,但请尝试使用
live()
绑定您的事件处理程序:

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

有关详细信息,请参阅。

您的问题有点令人困惑,但请尝试使用
live()
绑定事件处理程序:

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

有关更多信息,请参阅。

您的问题不清楚,但如果您动态添加链接,则应使用
.live('click',…)
,或新的jQuery 1.7
.on()
您的问题不清楚,但如果您动态添加链接,则应使用
.live('click',…)
,或者新的jQuery1.7
.on()

您需要添加点击处理程序
$(“#logoutLink”)。只有在登录系统添加链接后才点击(函数(事件){}
,因此我会执行以下操作

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

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

然后在添加链接时也调用
addHandlers();
,您需要添加点击处理程序
$(“#logoutLink”)。只有在登录系统添加链接后才点击(函数(事件){}
,所以我要做以下操作

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

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

然后也调用
addHandlers()
当添加链接时

非常混乱。请让朋友阅读你的问题。请重写问题。我有NFI你想要什么哈,好吧,事情是这样的,我有一个登录系统,使用jquery登录用户,而不刷新页面。登录时,有一个id为options的div,jquery在其中添加链接t div使用.html()方法,因此当您查看页面的源代码时,原始html没有,然后我有php检查用户是否登录,并在那里广告这些链接(在这种情况下,它直接添加到html而无需jquery).Logout是其中的一个链接,当第一个jquery将用户登录并将链接添加到该div时,Logout链接无法使用。单击()方法我的问题是如何让它知道有一个注销链接,即使页面没有刷新,链接只是通过jquery添加的,而不是htmlso。请让一个朋友阅读你的问题。请重写这个问题。我有你想要的NFI哈,好的,这是问题,我有一个使用jq的登录系统在不刷新页面的情况下查询并登录用户,在登录时,有一个id为options的div,jquery使用.html()方法在该div中添加链接,因此,当您查看页面源时,原始html没有,然后我有php检查用户是否登录,并在那里广告这些链接(在本例中,它直接添加到html中,而不使用jquery)。注销是其中一个链接,当第一个jquery登录用户并将链接添加到该div时,注销链接无法使用。单击()方法我的问题是如何让它知道有一个注销链接,即使页面没有刷新,并且链接只通过jquery而不是html添加