JQuery preventDefault()正在停止后续功能

时间:2011-03-27 19:49:43

标签: jquery forms onclick return-value preventdefault

我正在使用preventDefault函数阻止我的表单提交。这工作正常,但是在该函数之后我有一个不再有效的onClick函数。

奇怪的是,在onclick函数之前,我确实有一个简单的div居中功能,即使在表单preventDefault之后也能正常工作。

编辑:我发现了问题,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)}
        });
    });

非常感谢任何帮助。

非常感谢

1 个答案:

答案 0 :(得分:2)

尝试更改:

zip.preventDefault();

为:

return false;

我认为preventDefault()正在冒泡并取消点击处理程序。