视图上所有按钮/链接点击或下拉更改的 jQuery 事件

发布于 2024-11-29 20:52:08 字数 860 浏览 1 评论 0原文

我正在 asp.net mvc3 中工作,并且有我的选项卡和登录数据的部分视图。在一个视图(我的预览视图)中,我生成一些图像,并将它们上传到云,然后向用户显示它们。然后,用户可以选择取消提交

我想要除了 Submit 之外的任何按钮、ActionLink 或下拉菜单来执行取消功能(这涉及从云中删除图像以及其他一些操作),但我不知道如何获取除 Submit 单击之外的每个事件的 jQuery 事件处理程序。目前,我有一个 jQuery“取消”函数,它绑定到 Cancel 按钮上的单击事件,现在需要扩展其用法。

我认为这是不言自明的,但如果您需要查看代码,请询问。

所有可能的事件: 在我的部分视图中,我有这些 razor html 帮助器:2 x @Html.ActionLinks 和 1 x @Html.DropDownList

我的“取消”和“提交”按钮采用以下形式:< code>

[更新]: 我的点击事件现在正在运行,但是我想使用e.preventDefault(); 在我的点击上,这样它就不会在我的取消/删除完成之前更改视图,但是如何在我的取消函数完成后同步提交项目呢?我假设我使用回调,但是我使用 e.submit()e.click() 还是其他东西?我希望它适用于 标签和 dropDown 更改

I'm working in asp.net mvc3 and have partial views for my tabs and log-in data. In one view (my preview view) I generate some images, and upload them to a cloud and then display them for the user. The user can then select Cancel or Submit.

I'd like to have any button, ActionLink, or dropdown besides Submit do the Cancel function (which involves deleting the images from the cloud, and some other things), but I'm not sure how to get a jQuery event handler for every event besides Submit click. Currently, I have a jQuery "Cancel" function that is bound to a click event on the Cancel button, and now need to expand its usage.

I figured this is self explanatory but if you need to see code, just ask.

All Possible Events:
In my partial views, I have these razor html helpers: 2 x @Html.ActionLinks and 1 x @Html.DropDownList

My Cancel and Submit buttons are of this form: <input type="submit" value="Cancel" />

[UPDATE]: I have my click event working now, however I would like to use e.preventDefault(); on my clicks so it doesn't change views before my Cancel/delete finishes, but then how do I synchronously submit an item after my Cancel function finishes? I assume I use a callback, but do I use e.submit() or e.click() or something else? I would like it to work for <a> tags and dropDown changes

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

━╋う一瞬間旳綻放 2024-12-06 20:52:08

这个怎么样?

$("input,a,select").not("input:submit").click(function(e) {
    // do work
});

工作示例: http://jsfiddle.net/eqwkD/


更新

$("input,a,select").not("#SubmitButton").click(function(e) {
    // do work
});

How about this?

$("input,a,select").not("input:submit").click(function(e) {
    // do work
});

working example: http://jsfiddle.net/eqwkD/


Update

$("input,a,select").not("#SubmitButton").click(function(e) {
    // do work
});
离线来电— 2024-12-06 20:52:08

如果不是提交类型,下一个代码将在单击时调用 cancelFunction:

$(":input").click(function ({
    if (!$('#myinput').is(':submit')) {
         cancelFunction();
    }
});

这将使所有非提交类型的按钮调用取消按钮。如果您想更具体地向按钮添加一个 id 并使用以下代码:

$(":input").click(function() {
    if (!($('#myinput').attr("id") == "idOfSubmitButton")) {
         cancelFunction();
    }
})

The next code will call the cancelFunction upon click if it is not of type submit:

$(":input").click(function ({
    if (!$('#myinput').is(':submit')) {
         cancelFunction();
    }
});

This will make all buttons that are not of type submit call the cancel button. If you want to be more specific add an id to the button and use the following code:

$(":input").click(function() {
    if (!($('#myinput').attr("id") == "idOfSubmitButton")) {
         cancelFunction();
    }
})
独享拥抱 2024-12-06 20:52:08

您可以尝试在 jQuery 单击处理程序中使用 :not 选择器:

$("input,a,select").not("#submit").click(cancelFunction);

这将选择除 id 为“submit”的元素之外的所有输入元素,并将它们绑定到您的取消函数。

You could try using the :not selector in your jQuery click handler:

$("input,a,select").not("#submit").click(cancelFunction);

This would select all input elements except for an element with id 'submit' and bind them to your cancel function.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文