我的 MVC 视图中有一个用于一堆链接和一个下拉选择器的 jquery 点击事件,我在执行事件之前对它们进行了 preventDefault,因为它们中的大多数重定向到一个视图(重定向停止我的 jquery 代码不是它?)。在我的点击事件中的所有回调之后,我希望链接和下拉选择器执行它们的默认事件,这样它就不会像什么都没发生一样坐在页面上。
有没有一种简单的方法可以让所有链接/下拉菜单返回默认值,然后以编程方式在 jquery 中单击它们?我已经尝试过并且$(this).click()
没有运气。$(this).submit()
e.click()
e.submit()
这是我的代码
$("input,a,select").not("#SubmitButton").click(function (e) {
e.preventDefault();
console.log("prevented default");
deletePreview($(this));
});
function deletePreview(button) {
console.log("clicked");
//Delete Offer from DB
$.post('@Url.Content("~/")Offer/DeleteJoAnnOffer/?offerId=' + offerID, function (data) {
console.log("finished deleting");
if (button.attr('id') == "CancelButton") {
window.location.href = '@Url.Content("~/")Offer/CreateJoAnn/';
} else {
//DO DEFAULT ACTION HERE
}
});
};
[编辑]:还有一个问题:如果我不使用 preventDefault(),我的 jquery 事件会执行(以及初始部分,因为我的控制台记录了“点击”),但我无法确认 jquery 帖子是否真的在执行,因为控制台在新页面上刷新。