jquery 事件处理程序相对于(内联)javascript 事件处理程序的执行顺序

2023-12-02

如果我错了,请纠正我,但在我看来,jQuery 事件处理与 javascript 事件处理完全分开。我知道 jQuery 和 javascript 事件处理程序本身的执行顺序是未定义的,但是是否可以假设所有 javascript 处理程序都将在 jQuery 处理程序之前执行?

In the example在对此的回答中给出question情况似乎确实如此。

另外,相对于绑定事件处理程序,执行内联 javascript 事件处理程序是否有任何偏好?

为了澄清起见,我问所有这些是因为我遇到了一个问题,我有一个内联事件处理程序onClick事件的<a>调用的元素submit()封闭形式的方法。就在提交表单之前,我想动态添加一些隐藏的inputs到表格。现在我正在这样做:

        var preSubmit = function preSubmit()
        {
            // add inputs
        }

        var oldSubmit = form.submit;
        form.submit = function newSubmit()
        {
            preSubmit();
            oldSubmit.call(form, arguments);
        }


但我真的想知道是否有一种更优雅的方式,我真的需要对此进行一些澄清。


我不确定规范,但我认为事件处理程序只是按照您定义的顺序排队。内联处理程序是在 DOM 节点中定义的,因此没有其他内容可以更早进行。

最优雅的方式是这样写all以一种不引人注目的方式处理你的 JavaScript,即将它与 HTML 分开(你似乎正在混合编程风格)。不管怎样,您可以通过附加一个来拦截表单提交onsubmit处理程序的形式:

$("form").submit(function(){
    // Do stuff
    return true;
});

Update

我已经做了一些测试,当您在其他地方调用 DOM 的 Submit() 方法时,通过 jQuery 附加到表单的 onsubmit 处理程序似乎不会被触发。这是一个解决方法:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head><title></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript"><!--
jQuery(function($){
    $("a").each(function(i, a){
        a.onclick = function(){ // Remove previous handlers
            alert("I will no longer submit the form");
            $(this).closest("form").submit();
        };
    });
    $("form").submit(function(){
        alert("I'll take care myself, thank you");
        $("input[name=foo]").val("Another value");
        return true;
    });
});
//--></script>
</head>
<body>


<form action="" method="get">
    <input type="text" name="foo" value="Default value">
    <a href="javascript:;" onclick="document.forms[0].submit()">Submit form</a>
</form>

</body>
</html>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

jquery 事件处理程序相对于(内联)javascript 事件处理程序的执行顺序 的相关文章

  • JS文件中的System.register是什么意思?

    在 Angular 2 中使用指令时 JS 文件中的 System register 是什么意思 我认为这个问题并不特定于 Angular2 中的指令 它是关于 ES6 TypeScript 和其他使用 SystemJS 的现代编译器的一般
  • JavaScript 可以检测用户的浏览器是否支持 gzip 吗?

    我可以使用 JavaScript 来检测用户的浏览器是否支持 gzip 压缩内容 客户端 而不是 Node js 或类似内容 我正在尝试支持以下边缘情况 有很多可能的文件可以加载到特定的 Web 应用程序上 最好在应用程序运行时根据需要加载
  • tomcat 7.0.50 java websocket 实现给出 404 错误

    我正在尝试使用 Java Websocket API 1 0 JSR 356 中指定的带注释端点在 tomcat 7 0 50 上实现 websocket 以下是我如何对其进行编码的简要步骤 1 使用 ServerEndpoint注解编写w
  • jslint 配置 |传递全局变量

    我如何提醒 jshint 我有全局变量 即命名它们 我知道你可以做到这一点 但我不记得语法了 我在这里定义了一个全局的 function window glob1 local var 稍后像这样使用 不同的 IIFE function gl
  • 纯 JS 相当于 Jquery eq()

    jquery 的纯等价物是什么eq 例如 我怎样才能实现 class1 class2 eq 0 text 1254 在纯 JavaScript 中 要获取数组中的元素索引 可以使用 在 JavaScript 中 因此 要重现您的代码 您可以
  • vuejs 模板和 asp.net 部分视图,好的做法吗?

    我在网站中使用 Vue js 并将模板添加到 html 代码中 并将 js 代码添加到单个 js 文件中 所以我不想使用 vue Vuefy Browserfy 方法 而是稍后捆绑并缩小我的 js 文件 由于我必须使用 Asp Net MV
  • Angular UI-Router:多个 URL 到单一状态

    我已经开始使用 Angular 的 ui router 并且我正在尝试弄清楚如何让多个 URL 引用单个状态 例如 orgs 12354 overview retyrns the same pages as org overview 我的
  • JQGrid 列自定义..在运行时添加列

    我是 J Query 的新手 正在尝试一些示例http www trirand com blog jqgrid jqgrid html http www trirand com blog jqgrid jqgrid html我看到列名是用
  • 为什么我需要使用 setState 回调来设置依赖于第一个项目的 setState 完成的第二个状态项目的状态?

    在此 componentDidUpdate 方法中 执行 setState 将引号设置为从 fetch 返回的内容后 我必须使用回调再次执行 setState 将 randomQuoteIndex 设置为调用 randomQuoteInde
  • 如何将本地文本文件上传到文本区域(网页内)

    我是一名新手程序员 需要一些帮助来弄清楚如何将本地文本文件上传到我正在构建的网站内的文本区域 我非常精通 HTML CSS 对 Javascript JQuery 有相当的了解 而且我刚刚学习 PHP 您能提供的任何帮助我将不胜感激 我有一
  • 为什么 str.substr(0,4) 不是函数?

    我正在用 jQuery 制作一个脚本 我得到了以下数字7 2387 我所拥有的只是得到7 23 为此我编写了以下代码 var str 7 2387 var shorter str substr 0 4 但我收到这个错误 all js 55
  • IE localStorage 事件失火

    在 Internet Explorer 9 和 10 中 localStorage 实现意外地触发事件 这里有很棒的线索 Chrome 的 localStorage 实现存在错误 https stackoverflow com questi
  • 使用 JavaScript 防止网页导航离开

    如何使用 JavaScript 防止网页导航离开 Using onunload允许您显示消息 但不会中断导航 因为为时已晚 然而 使用onbeforeunload将中断导航 window onbeforeunload function re
  • ES6 静态方法引用 self? [复制]

    这个问题在这里已经有答案了 我有两节课 存储库和用户存储库 我想在 Repository 中定义一个静态方法 该方法在运行时调用 UserRepository 中的静态函数 有什么干净的方法可以做到这一点吗 class Repository
  • 如何使用 fetch() 和 WhatWG 流获取文件上传进度

    注意 我并不是在寻找任何替代方案 我知道这可以通过 XMLHttpRequest 来完成 我也不关心浏览器支持 我只想了解新的 即将推出的标准 我有一个File https developer mozilla org en US docs
  • 如何将数据推送到嵌套对象

    如何将另一个元素推入variables来自以下对象的属性 var request name Name id 3 rules name Rule name tags tagId 1 variables variable var1 matchT
  • 在 Meteor 应用程序中实现 MongoDB 2.4 的全文搜索

    我正在考虑向 Meteor 应用程序添加全文搜索 我知道 MongoDB 现在支持此功能 但我对实现有一些疑问 启用文本搜索功能的最佳方法是什么 textSearchEnabled true 在 Meteor 应用程序中 有没有办法添加索引
  • highchart堆积柱每个类别的总数据

    我想获取每个类别的总数据 这point stackTotal只给出活动数据的总数 从我粘贴的代码示例中 我想知道每种水果的总消耗量 因此 即使我单击右上角图例上的乔的名字 这使得堆叠图表上的所有乔信息都处于非活动状态 我仍然可以知道约翰 简
  • VS Code 扩展 - 获取完整路径

    我正在为 VS Code 编写一个插件 我需要知道调用扩展的文件的路径 无论是从编辑器上下文菜单或资源管理器上下文菜单调用还是用户只需键入扩展命令 function activate context get full path of the
  • 如何从 Cloud Functions for Firebase 文件夹读取证书文件

    我正在尝试读取 certs 文件夹下的文件 如下所示 functions certs idp public cert perm 这是我用来读取文件的代码 fs readFileSync path join dirname certs idp

随机推荐

  • 散点图上的不同颜色编码和标记

    我想创建一个seaborn散点图 使用以下数据框 df pd DataFrame A 1 2 3 4 B 2 4 6 8 C y y n n D 1 1 2 2 在我的图表中A应该是x variable and B the y variab
  • Flutter 未在发布的 apk 上在真实设备中渲染 UI

    我一直在为我的应用程序编写 ui 在调试模式下构建时没问题 但是当我构建发布 apk 时 用户界面变得模糊 并且文本不显示 小部件的渲染不符合预期 并且它们的大小渲染不正确 我在不同的手机上检查过 但结果是一样的 是我的代码有问题还是flu
  • 通过排除导航和 Chrome 内容从 HTML 页面中提取纯内容/文本

    我正在爬取新闻网站 想要提取新闻标题 新闻摘要 第一段 等 我插入了 webkit 解析器代码 以树状方式轻松导航网页 为了消除导航和其他非新闻内容 我采用文章的文本版本 减去 html 标签 webkit 提供了相同的 api 然后我运行
  • Codeigniter 显示错误:未选择数据库

    我正在使用 Codeigniter DBForge 类在该数据库中创建数据库和表 这是代码 if this gt dbforge gt create database new db fields array blog id gt array
  • 对 sprintf 格式 '-Flag 的跨平台支持

    The 单一 UNIX 规范版本 2指定sprintf的格式 将行为标记为 The integer portion of the result of a decimal conversion i d u f g or G will be f
  • 通过非制表符分隔符实现非结构化 XML?

    我们有一个复杂的 XML 结构 而且非常大 gt 500 MB 该结构的XSD为 This XSD 众所周知 这是一个复杂的问题 由于大小或非制表符分隔符结构 我无法将其转换为可读性更好的演示文稿 我想通过 C 读取这个文件并搜索药物名称
  • SQL Server LAG() 函数计算行之间的差异

    我是 SQL Server 新手 对 lag 函数有一些疑问 我必须计算两个用户活动之间的平均距离 以天为单位 然后 我必须对所有用户进行分组 计算每个用户的行之间的所有日期差异 最后选择该组的平均值 Just to be clear I
  • CUDA 中的全局内存与动态全局内存分配

    我有一个 CUDA v5 5 应用程序需要使用全局内存 理想情况下 我更喜欢使用常量内存 但我已经耗尽了常量内存 溢出的内容必须放置在全局内存中 我还有一些需要偶尔写入的变量 在 GPU 上进行一些缩减操作之后 我将其放置在全局内存中 为了
  • 请求另一个域/服务器上的内容

    我正在尝试请求位于另一个域 服务器上的数据 但是当我尝试发送请求时遇到异常 var request new XMLHttpRequest request open GET http www w3schools com ajax cd cat
  • nginx proxy_pass 与socks5 代理?

    我正在尝试设置 proxy pass 同时也使用袜子5代理 我可以使用以下命令通过curl 访问我的支持服务 curl x socks5h localhost 8001 svo dev null I http abcd 1234 8000
  • 如何使用 Ruby 找到目录中最近修改的文件夹?

    如何使用 Ruby 在目录中找到最近修改的文件夹 不是文件 Dir glob a directory max by f File mtime f Dir glob a directory 返回中的所有目录名称a directory 作为字符
  • 警告消息澄清

    我在用着SNPassoc用于查找数据 SNP 和连续变量结果之间关联的 R 包 我进行了分析并得到了结果 但是 我收到警告消息 Warning in terms formula formula data data varlist has c
  • 使用 dplyr 将唯一 ID 分配给组内的不同值

    问题 我需要为具有两级分组的数据创建一个唯一的 ID 字段 在这里的示例代码中 它是Emp and Color ID 的结构需要如下 Emp 每个的唯一编号Color 重复的序列号Colors 这些值由句点分隔 示例数据 dat lt da
  • 当我使用 GZIPOutputStream 将文件发布到 servlet 时文件已损坏

    我尝试修改 BalusC优秀教程here发送 gzip 压缩文件 这是一个工作java类 import java io File import java io FileInputStream import java io FileNotFo
  • 如何在 Mercurial 队列中仅推送一个特定补丁?

    这就是我所做的 hg init hg qnew m p1 p1 patch some changes hg qrefresh hg qpop hg qnew m p2 p2 patch some changes hg qrefresh hg
  • Angular 正则表达式测试输入的 ng-pattern 验证不一致

    我对我的输入进行了 ng 模式验证 ng pattern g 这并不是每次都起作用 并表现出非常奇怪的行为 See plnkr ngMessage 仅在我输入的每两个字符上显示 但控制台正确评估正则表达式测试 我在浏览器开发工具中的 Ang
  • PHPWord 转 PDF 无法加载库

    我一整天都在努力让它发挥作用 现在我可以将文档另存为 docx 文件 但我希望能够将文档另存为 PDF 我已尝试使用 DOMPDF 和 TCPDF 但我不断收到错误 无法加载 PDF 库 我确认路径是正确的 我错过了什么吗 感谢您的帮助 r
  • 在 WPF 中加载多个图像时防止内存膨胀

    我有一个非常简单的 WPF 应用程序 用于预览任何给定文件夹中的图像 一次一张图像 您可以将其视为 Windows Image Viewer 的克隆 该应用程序有一个 PreviewKeyUp 事件 用于在按下左箭头或右箭头键时加载文件夹中
  • Jquery getJSON 无法跨站点工作

    我有一段 javascript 可以抓取 JSON 数据 当在本地执行时 一切似乎都工作正常 但是 当我尝试从其他站点访问它时 它不起作用 这是脚本 function var aT new AjaxTest aT getJson var A
  • jquery 事件处理程序相对于(内联)javascript 事件处理程序的执行顺序

    如果我错了 请纠正我 但在我看来 jQuery 事件处理与 javascript 事件处理完全分开 我知道 jQuery 和 javascript 事件处理程序本身的执行顺序是未定义的 但是是否可以假设所有 javascript 处理程序都