JQuery protectDefault () останавливает последующую функцию - PullRequest
1 голос
/ 27 марта 2011

Я использую функцию protectDefault, чтобы остановить отправку формы.Это работает нормально, однако после этой функции у меня есть функция onClick, которая больше не работает.

Странно, но до функции onclick у меня есть простая функция центрирования div, которая работает даже после формы предотвратите ошибку.1003 *

Редактировать: Я обнаружил проблему, функция onclick была для элемента, который был загружен через ajax в первой функции.так что селектор, вероятно, не нашел его

Ниже приведен мой код:

    // Submit zip code
    $("#get_zip").submit(function (zip)  
    { 
    //Send zipcode
    $.ajax({
            type: "POST",
            url: "ajax_calls.php",
            data: "zip="+$('#zip').val()+"&send_zip=true",
            success: function(listing){$("#wrapper").html(listing);  $("#lightbox,#welcome").fadeOut(300);},
            error: function(){alert(3);$("#error").text("Could not retrieve posts").fadeIn(300).delay(900).fadeOut(300)}
        });

    //Stop form submission action
     zip.preventDefault();

    }); 

  //Center item box
       $("#item").centerInClient();


    //When clicking an item row
    $("tr.item").click(function()  
    { 

    // Get item id from selected row id
    var id = $(this).attr('id');


    //Fill item box with item details
    $.ajax({
            type: "POST",
            url: "ajax_calls.php",
            data: "id="+id+"&get_item=true",
            success: function(r){$("#item_detail").html(r);  $("#lightbox, #item").fadeIn(300);},
            error: function(){alert(2);$("#error").text("Could not retrieve posts").fadeIn(300).delay(900).fadeOut(300)}
        });
    });

Любая помощь по этому вопросу будет очень признателен.1014 *

1 Ответ

2 голосов
/ 27 марта 2011

Попробуйте изменить:

zip.preventDefault();

на:

return false;

Я думаю, что preventDefault() всплывает и отменяет ваш обработчик кликов.

...