使用 jQuery 以编程方式触发 IE 的 Javascript 事件

2023-11-23

当 IE 中的用户触发事件时,它被设置为window.event目的。查看触发事件的唯一方法是访问window.event对象(据我所知)

如果以编程方式触发事件(例如通过 jQuery 触发事件),这会导致 ASP.NET 验证器出现问题。在这种情况下,window.event对象存储最后一个用户触发的事件。

当。。。的时候onchange对于附加了 ASP.NET 验证器的文本框以编程方式触发事件,验证会中断,因为它正在查看触发最后一个事件的元素,而该元素不是验证器所针对的元素。

有谁知道解决这个问题的方法吗?这似乎是一个可以解决的问题,但从网上看,大多数人只是想办法忽略问题而不是解决它。


解释一下我具体在做什么:
我在文本框上使用 jQuery 时间选择器插件,该文本框还有 2 个与之关联的 ASP.NET 验证器。当时间更改时,我使用更新面板回发到服务器以动态执行一些操作,因此我需要触发 onchange 事件才能触发该文本框的回发。

jQuery 时间选择器通过创建一个隐藏的无序列表进行操作,单击文本框时该列表将可见。当单击列表项之一时,将通过 jQuery 以编程方式为文本框触发“change”事件change() method.

因为该事件的触发器是一个列表项,所以 IE 会看到项目清单作为事件的来源,而不是文本框,就像它应该的那样。

我不太关心这个 ASP.NET 验证器在文本框更改后立即工作,我只需要“change“要处理的事件,因此为文本框调用我的回发事件。问题是验证器在 IE 中引发异常,从而阻止触发任何事件。

Firefox(我假设其他浏览器)没有这个问题。由于事件模型不同,只有IE。有没有人遇到过这个问题并看到如何解决它?


我发现其他几个地方也报告了这个问题,但他们没有提供解决方案:

  • jQuery 论坛,带有 jQ​​uery UI Datepicker 和 ASP.NET Validator
  • ASP.NET 论坛,ValidatorOnChange() 函数的错误

我有同样的问题。使用这个函数解决:

jQuery.fn.extend({
    fire: function(evttype){ 
        el = this.get(0);
        if (document.createEvent) {
            var evt = document.createEvent('HTMLEvents'); 
            evt.initEvent(evttype, false, false); 
            el.dispatchEvent(evt); 
        } else if (document.createEventObject) { 
            el.fireEvent('on' + evttype); 
        }
        return this;
    }
});

所以我的日期选择器的“onSelect”事件处理程序如下所示:

if ($.browser.msie) {
    datepickerOptions = $.extend(datepickerOptions, { 
        onSelect: function(){
            $(this).fire("change").blur();
        }
    });
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 jQuery 以编程方式触发 IE 的 Javascript 事件 的相关文章

  • ngModel.$parsers 忽略 ng-model 值末尾的空格

    我有这样的指令 directive noWhitespace parse function parse return restrict A require ngModel link function scope element attrs
  • 为什么将数据存储为元素的属性存在风险?

    我一直在读同样的东西 直接在 DOM 元素上存储属性值是有风险的 因为可能会发生内存泄漏 但有人可以更详细地解释这些风险吗 按属性 我假设您指的是 DOM 元素上的属性 DOM 元素上的自定义属性安全吗
  • 是否可以覆盖 javaScript 原始数据类型?

    问题是不言自明的 我知道可以扩展原始数据类型 例如string但有可能覆盖它吗 这是在采访中被问到的一个问题 不 你不能覆盖任何东西 Ecma脚本定义原始类型 http es5 github com x4 3 2 Undefined Nul
  • 简单的 jQuery 帖子无法在 Internet Explorer 9 上运行(访问被拒绝)

    我使用 JQuery 和 PHP 编写了一个验证器 该验证器适用于除 Internet Explorer 9 之外的所有浏览器 我收到错误消息 SCRIPT5 访问被拒绝 jQuery 代码 contact send click funct
  • 在 Angular2 项目中集成 Treant-js

    我正在尝试在 Angular2 项目中使用 treant js 但我正在努力解决如何正确集成它的问题 我有一个工作正常的 JavaScript HTML 示例 我正在尝试在 Angular2 中工作 我创建了一个组件 从 npm 添加了 t
  • Bing.com 如何创建放大的缩略图?

    当我使用 Bing com 搜索图像时 我发现它们的图像经过精心裁剪和排序 当您将鼠标放在图像上时 会弹出另一个窗口 其中显示放大的图像 我想在我的程序中做同样的事情 我检查了他们页面的源代码 他们正在使用 javascript 但我仍然不
  • jQuery Blur() 在 Chrome 上不起作用

    我在 MacOSX 上运行这个http jsfiddle net q84wv http jsfiddle net q84wv on Chrome最新版本 它不会工作 在 Firefox 上运行时它工作得很好 有什么线索吗 假设您想要aler
  • 使用 Javascript / Jquery 的本地存储(不使用 HTML5)

    我想在 javascript 或 jquery 中复制本地存储概念 类似于 HTML5 但不幸的是我不知道如何开始 任何人都可以建议如何使用 javascript 或 jquery 实现本地存储 不使用 HTML5 这是一个有点愚蠢的差事
  • 引入 V8 后,Google Apps 脚本无法为其他用户完全执行

    我编写了一个脚本 得到了这里好心人的大力帮助 该脚本使用 Google Sheets 脚本复制 Google Drive 上的文件夹 和内容 它运行了很长一段时间 但后来我启用了 V8 引擎 现在已禁用 问题是 它仍然适用于我 也许还有其他
  • 光滑的轮播缓动示例

    我正在使用 Slick Carousel http kenwheeler github io slick http kenwheeler github io slick 但不知道如何合并不同的幻灯片切换 有人有例子可以分享吗 这是我目前拥有
  • 点击问题:动态生成的链接不触发点击功能

    下面是两个代码片段 由于某种原因什么也没有发生 但来自同一个 JS 文件的其他 jQuery 函数在带有 UL 的页面上执行得很好 这是在盯着我看吗 ul class paganation li 1 li li a href 2 a li
  • 空 URL 哈希导致页面在 js 事件上跳转

    我有一个带有下一个和上一个按钮的照片库 如果我的某个 javascript 方法由于某种原因被破坏 那么当单击其中一个按钮时 它会向 url 添加一个哈希值 即 www google com 我知道可以给散列一个 div id 来跳转到页面
  • setInterval 内的返回值

    我想在 setInterval 内返回一个值 我只想以一定的时间间隔执行一些操作 这就是我尝试过的 function git limit var i 0 var git setInterval function console log i
  • 将 NPM 包客户端与 nuxt 结合使用

    我对 nuxt 和 javascript 非常陌生 我正在尝试弄清楚如何在客户端使用我的应用程序的依赖项 我将它们列在我的 nuxt config js 中并使用 npm 安装 我也有一个文件 plugins导入它们的目录 不确定这是否好
  • Window 与 Var 声明变量[重复]

    这个问题在这里已经有答案了 可能的重复 JavaScript 中使用 var 和不使用 var 的区别 https stackoverflow com questions 1470488 difference between using v
  • 对列表中的一系列整数求和

    假设我有一个这样的列表 List
  • 常规 JavaScript 可以与 jQuery 混合使用吗?

    例如 我可以采用这个脚本 来自 Mozilla 教程 https developer mozilla org en Canvas tutorial Basic usage
  • Serviceworker Bug event.respondWith

    我的 serviceworker 的逻辑是 当发生获取事件时 它首先获取包含一些布尔值 而不是 event request url 的端点 并根据我正在调用的值检查该值event respondWith 对于当前的获取事件 我正在提供来自缓
  • 未捕获(承诺中)TypeError:无法读取 null popover.js 的属性“模板”

    当我触发时我注意到一个错误 popover dispose 当我上下滚动页面时 函数会发生错误 并且它会减慢我的页面速度 该函数按其应有的方式运行并关闭弹出窗口 但这就是错误Uncaught in promise TypeError Can
  • Web 和 winforms 的 .Net 身份验证

    我有一个为客户端构建的 ASP NET Web 应用程序 它使用默认的 ASP NET 表单身份验证 他们现在请求一个能够 与 Web 应用程序一起工作的桌面 WinForms 应用程序 我已经创建了 Web 服务来访问他们想要从 Web

随机推荐

  • 根据任何选定列中的值对 data.table 进行子集化的有效方法[重复]

    这个问题在这里已经有答案了 假设我有一个包含 6 列的 data table library data table set seed 123 dt lt data table id 1 100 p1 sample 1 10 100 repl
  • 使用 Blazor 访问设备摄像头

    我有 Blazor Web Assembly PWA 如何打开设备本机摄像头 我正在尝试编写一个 PWA 来捕获和保存图片 EDIT 想要将捕获的图像以 jpeg 格式保存到 Azure Blob 存储中 您可以通过 HTML 输入来实现此
  • 如何使用 CSS 或 Javascript 创建选取框

    我需要创建两个跨越任意大小的浏览器窗口的选取框 一个带有重复图像 一个带有重复链接 选框项目需要从一开始就显示出来 而不需要几秒钟的时间才能出现在屏幕上 并且每个项目之间的距离大约为 20px 30px 当用户将鼠标悬停在其上时 选取框需要
  • AVAudioRecorder 不会在设备上录制

    这是我的方法 void playOrRecord UIButton sender if playBool YES NSError error nil NSString filePath NSBundle mainBundle pathFor
  • 解决应用内购买缺少促销代码的问题

    Apple 不提供应用内购买的促销代码 让用户免费尝试通过应用内购买解锁的功能或内容 同时遵守 Apple 开发者指南的最佳方式是什么 这个想法是允许一组特殊的用户 评论者 主要粉丝等 无需付费即可访问作为应用内购买提供的内容或功能 解决此
  • 在 Android Activity 中设置全屏亮度

    我正在使用这种方法将屏幕设置为全亮度 SuppressLint NewApi private void setFullBright if Build VERSION SDK INT gt Build VERSION CODES CUPCAK
  • Rails 4:跳过回调

    我的应用程序中有一个拍卖和一个投标对象 当有人按下出价按钮然后它调用投标创建创建出价的控制器 然后对拍卖对象执行一些其他操作 投标控制器 gt 创建 auction endtime auction auctiontimer auction
  • NSMutableArray addObject 不起作用

    我已宣布NSMutableArray categories在我的视图控制器 h 文件中 并为其声明一个属性 In the parser foundCharacters 的方法NSXMLParser在我的 m 文件中 我有以下代码 void
  • 制作简单的 Google Android Maps API v2 项目时 Android Studio 中的编译错误

    最近我迁移到了新Android Studio 集成开发环境基于IntelliJ 我遵循的指南是 https developers google com maps documentation android start 为了 基本 如何在 A
  • Android In App Update 在立即模式下下载 APK 后不安装 APK

    应用程序正在使用立即模式来更新应用程序 它开始下载 APK 但下载 APK 后 它永远不会安装 UI 挂起并显示下载进度 100 立即模式下没有反馈下载已完成 即时模式如何实现app自动下载 安装 重启 我正在使用以下模式以立即模式开始更新
  • C - 可移植地获取类型对齐

    我正在为一种非常简单的语言编写非常小的解释器 它允许简单的结构定义 由其他结构和简单类型组成 如 int char float double 等 我希望字段使用尽可能少的对齐方式 因此使用 max align t 或类似的东西是不可能的 现
  • XHTML 和 &(与号)的编码

    我的网站符合 XHTML Transitional 标准除了一件事 URL 中的 与号 按原样编写 而不是 amp 也就是说 我的页面中的所有 URL 通常都是这样的 a href http www example org page asp
  • 最好使用游标适配器或数组适配器

    我在数据库中存储了大约 100 个时间表 需要根据每周 下周 下个月 逾期时间表等要求基于 Listview 显示它们 是否可以在应用程序启动时加载所有计划并根据用户在阵列适配器中选择的选项 每周 逾期 每月等 显示它们 或者在运行时使用查
  • 管理 .NET 应用程序在终止/终止时正常关闭

    我们有一个具有许多前台线程的 NET 控制台应用程序 如果我们使用任务管理器终止进程或从 Windows 命令行发出killjob kill 是否有一种方法可以优雅地关闭应用程序 在 net 控制台应用程序中添加托管代码 例如拥有一个函数被
  • ViewFlipper 与 Fragments

    我有一个带有 ViewFlipper 的 Activity 它可以在一堆视图 页面 和我的数据之间翻转 我正在考虑使用fragments API 在我的视图之间切换 这样做有什么好处呢 由于 ViewFlipper 本质上会切换可见性标志
  • 如何在Windows中最好地设置java的路径

    我很好奇我在 windows 环境中看到的 java 路径之间存在的差异 如果我执行一个命令where java我可以看到 C Program Files x86 Common Files Oracle Java javapath java
  • 检测用户触发的jquery事件或代码调用

    我有一些window onscroll event window scroll function e My Stuff 但在我的代码中我调用动画滚动到某个地方 html body stop animate scrollTop 555 100
  • 如何使用 jQuery 从元素获取边框半径?

    我有一个 div 包含以下 HTML 和 CSS 为了使我的 Javascript 代码更加健壮 我尝试从所选元素中检索某些 CSS 属性 我知道如何使用 css getter 来获取元素 但是如何使用该方法获取边框半径 jQuery 的文
  • iOS 8 TestFlight 不安装应用程序

    正如标题所说 我正在尝试预发布一个 ios8 应用程序 该应用程序已从存档成功上传并显示在预发布下 我按下提交测试版并添加内部测试用户 在 testflight 中 该应用程序出现 但是当我按安装时 它显示 无法安装应用程序 testfli
  • 使用 jQuery 以编程方式触发 IE 的 Javascript 事件

    当 IE 中的用户触发事件时 它被设置为window event目的 查看触发事件的唯一方法是访问window event对象 据我所知 如果以编程方式触发事件 例如通过 jQuery 触发事件 这会导致 ASP NET 验证器出现问题 在