我正在使用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)}
});
});
非常感谢任何帮助。
非常感谢
答案 0 :(得分:2)
尝试更改:
zip.preventDefault();
为:
return false;
我认为preventDefault()
正在冒泡并取消点击处理程序。