我在MVC视图中有一些链接和一个下拉选择器的jQuery点击事件,并在执行事件之前阻止它们的默认行为,因为大多数情况下它们会重定向到另一个视图(重定向会停止我的jQuery代码,对吧?)。在所有回调结束后,我想让这些链接和下拉选择器执行它们的默认事件,以便页面不只是呆在原地没有任何反应。
有没有一种简单的方法可以让所有链接/下拉选择器返回到默认状态,然后使用jQuery进行编程式的点击?我已经尝试了$(this).click()、$(this).submit()、e.click()和e.submit(),但都没有成功。
以下是我的代码:
[编辑]: 再问一个问题: 如果我不使用preventDefault(), 我的jquery事件会执行(因为我的控制台记录了"点击"), 但我不能确认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提交是否实际执行,因为控制台在新页面上刷新。