【问题标题】:JQuery preventDefault() is stopping subsequent functionJQuery preventDefault() 正在停止后续功能
【发布时间】:2011-03-27 19:49:43
【问题描述】:

我正在使用 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)}
        });
    });

对此的任何帮助将不胜感激。

非常感谢

【问题讨论】:

  • 我也在尝试将 ajax 与 prevent.default 一起使用。但它停止在 ajax 中工作!

标签: jquery forms onclick return-value preventdefault


【解决方案1】:

尝试改变:

zip.preventDefault();

到:

return false;

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

【讨论】:

  • 我实际上最初尝试使用 return false,但这给了我同样的问题。感谢您的回答
猜你喜欢
  • 2017-10-29
  • 1970-01-01
  • 1970-01-01
  • 2011-12-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多