سؤال

لدي الكود التالي

$("#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;
});

ورابط مع معرف= "لوغوتلينك"

و بريفنتدفولت لا يعمل لأول مرة لأن نظام تسجيل الدخول لا تحديث الارتباط ويضيف محتوى هتمل مع الروابط, الذي هو رابط الخروج وبالتالي فإن البند غير موجود في هتمل, وأنا أعلم أن هذه هي المشكلة, ولكن سؤالي هو كيف يمكنني جعله يعرف أن محتوى هتمل تمت إضافته مع معرف الارتباط لوغوتلينك دون تحديث الصفحة?

هل كانت مفيدة؟

المحلول

سؤالك غير واضح ، لكنك تضيف الرابط ديناميكيا ، يجب أن تستخدم إما .live('click', ...), ، أو مسج جديد 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