为什么这个 jQuery 事件不会在 Gmail 中触发?

2023-12-05

我在将 jQuery 事件绑定到 gmail“body”时遇到问题

$('body').on('click', function(event) {
        console.log("Entered function");
});

访问 IMDB.com(例如)并在 Google Chrome 开发者控制台中粘贴上述代码。点击页面后,可以看到控制台上打印出“Entered function”。

但是当我尝试使用 gmail 进行相同操作时,我收到以下消息:

类型错误:对象 # 没有方法“on”

Gmail 发生了什么事?我该如何解决这个问题?

EDIT :-

非 JQuery 版本:

document.addEventListener("click", function() {
   console.log("Entered function");
}, false);

就像评论者指出的那样,jQuery 没有随 Gmail 一起加载,这是一个非 jQuery 版本,当您单击 Gmail 时它可以工作,但是当您单击链接(打开其中包含一些链接的电子邮件)时它不会不再工作了。


大多数 DOM 事件(包括单击事件)的调度方式如下:

  1. Capture phase (from document(window, document, document.documentElement, ...) down the tree to the clicked element).
  2. Bubble phase (from the clicked element up the tree to document ..., window).

与 jQuery 绑定的事件总是在#2 冒泡阶段触发。 Gmail似乎绑定了一个事件添加捕获阶段,并调用event.stopPropagation();当用户点击<a>元素。此方法会停止事件的传播,因此 jQuery 永远不会知道该事件,因为 #2 永远不会发生。

因此,放弃 jQuery 并使用普通 JavaScript 来绑定事件:

document.addEventListener('click', function(event) {
    // Do whatever you want
}, true);

通过设置第三个参数addEventListener to true,侦听器在捕获阶段触发。


关于 jQuery 错误(来自问题):
Gmail 不加载 jQuery,因此您无法使用它。通常,您会收到 ReferenceError:“$ 未定义”。相反,您看到“TypeError:Object # has no method 'on'”,因为$被定义为简写document.querySelector当页面未声明时在 Chrome 的开发者工具中$.

如果您的扩展中包含了 jQuery,则可以通过切换到适当的上下文来使用它。有关更多详细信息,请参阅为什么 jQuery 无法在 Facebook 中加载?

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

为什么这个 jQuery 事件不会在 Gmail 中触发? 的相关文章

  • 仅在首页加载时使用 cookie 加载 colorbox

    我尝试了来自网络的参考代码 仅在页面加载时加载特定元素一次 这是示例代码
  • 如何模板化 Select2 的预选值

    我预先选择的值Select2 https select2 org如下所示 function formatState state console log state text2 I found undefined here console l
  • 如何让 jQuery 的自动完成插件在页面加载时显示其下拉列表?

    http community sciencecareers org mt static plugins CommunityPlus js autocomplete http community sciencecareers org mt s
  • 两个 OnClick 事件重叠

    我在元素内有一个元素 当我单击下面的元素时 我希望打开滑块 当我单击最外面的元素时 我希望滑块关闭 不幸的是 当我单击最外面的元素时 它也会单击下面的元素 有没有办法只单击最外面的元素而忽略下面元素的单击 这些事件在单击时触发并使用 Jav
  • 如何使用 php 发送服务器错误响应?

    一旦用户点击删除按钮我的 jQuery 脚本要求服务器删除所选项目 现在我想要我的php发送成功或错误响应的脚本 是否有可能触发错误回调万一该项目无法删除 Thanks 我的 jQuery 代码 ajax type post url myA
  • Prototype 和 jQuery 一起?

    我注意到我使用的某个脚本依赖于原型 Lightbox 2 它会与 jQuery 在同一页面上一起工作吗 有没有办法确保它们不发生冲突 你可以 但你需要采取特殊步骤 http docs jquery com Using jQuery with
  • JQuery hide() 和 fadeOut() 、 show() 和 fadeIn() 之间的区别

    我是 jQuery 新手 目前 我正在我的跨平台移动应用程序之一中使用 jQuery 我需要根据各自的条件隐藏和显示我的一些页面内容 我发现以下两种方法对我来说效果很好 myControlId fadeOut myControlId hid
  • 在 javascript/jquery 中将光标更改为等待

    当调用函数时 如何让光标更改为此加载图标以及如何将其更改回 javascript jquery 中的普通光标 在你的 jQuery 中使用 body css cursor progress 然后又恢复正常 body css cursor d
  • Jquery 组合 SlideUp/Down 并单击

    我创建了两个脚本 其中一个具有向上滑动和向下滑动命令 这些命令在页面加载时作用于计时器 第二个是单击事件 其中单击链接时执行向上 向下滑动命令 这两个脚本都是单独工作的 但我无法让它们一起工作 这是定时向上 向下滑动脚本 document
  • jqgrid删除:没有获取值

    我使用 JSP 和 Servlet IDE Eclipse 数据库 Oracle10 开发 Web 应用程序 我在用JQGRID以表格格式显示数据 我还想要添加 编辑 删除的功能JQGRID 到目前为止我已经完成了编辑功能 现在我想要Del
  • PNG 透明度问题 - 带有黑色阴影的褪色图像 - IE 中的边框

    我使用图像旋转器在主页上显示一些图像 所有图像均为 PNG 格式 问题出在 IE 7 8 中 图像旁边有黑色阴影 我花了几个小时来解决这个问题 但仍然不知道问题出在哪里以及如何删除它 没有人有类似的问题和提示吗 如何解决 尝试使用 img
  • 我想检查 $('#td1').text() === "x" 是否?

    我想检查innerHtml是否有X或O 所以我不能再次添加任何其他东西 但它不起作用 添加检查代码后它就停止了 我在这里尝试做一个简单的XO游戏来更熟悉javascript和jquery 我也不确定是否可以用 jQuery 做到这一点
  • jQuery 可以在用户输入数字时添加逗号吗?

    当用户输入数字时 如何动态添加逗号 有没有一个好的数字格式化程序可以提供帮助 我必须稍后添加这些数字 所以我最终必须删除一行中的逗号 但屏幕需要显示逗号以提高可读性 运行代码片段以查看其工作情况 input number keyup fun
  • jquery.validate 中是否有一个函数可以像重置表单一样重置单个字段?

    我想调用 jquery 函数来手动删除单个字段中的错误并重置错误标记 是否有一个函数可以执行此操作 类似于 resetForm 函数 您可以执行以下操作来验证单个字段 your field valid 也许它会对某人有所帮助 Thanks
  • 动态地将工具提示文本设置为 div 元素

    我正在尝试动态地将工具提示文本设置为容器 div 并对我刚刚添加到有序列表的每个 div 元素 elem Alias Status 使用 jQuery function addNewElement elem var li li li li
  • 表单计算器脚本基本价格未加载 OnLoad

    我的表单中有一个计算器来计算我的下拉选项选择 function select calculate on change calc input type checkbox calculate on click calc function cal
  • FireFox 中的自动滚动

    我的应用程序是实时聊天 我有一个 Div 来包装消息 每条消息都是一个 div 所以 在几条消息之后 我的 DOM 看起来像这样 div div Message number two div div div div
  • 如何获取给定 DOM 元素的所有定义的 CSS 选择器?

    如何使用 jQuery 获取给定 DOM 元素的所有定义的 CSS 选择器 定义后 我的意思是在应用于任何样式表的所有 CSS 选择器document 在某种程度上 这类似于 FireBug 实现的功能 其中显示所选 DOM 元素的所有应用
  • 如何在jquery中以相反的顺序迭代元素? [复制]

    这个问题在这里已经有答案了 我是jquery的新手 我想知道如何使用each 在jquery中以相反的顺序迭代表单元素 任何帮助 将不胜感激 尝试这个 input get reverse each function
  • 在 ASP.NET Core MVC 中访问从视图到控制器的隐藏值

    我需要帮助使用 jQuery 从 ASP NET Core razor 视图页面传递隐藏控件值 jQuery 用于获取动态控件选定的值 section scripts

随机推荐

  • Bootstrap 滑动选项卡(不是选项卡内容)

    我正在开发一个项目并使用 Bootstrap Tabs 作为我的选项卡 用户可以创建新选项卡 因此问题是 超过N选项卡 其中N取决于浏览器的宽度 导致此行为 我浏览了一下 Bootstrap HTML 选项卡代码 选项卡是li里面的元素ul
  • 如何获取客户端的计算机名称

    我在另一篇文章中看到了这个问题 但解决方案无法正常工作 我用 System Net Dns GetHostEntry HttpContext Current Request ServerVariables Item REMOTE HOST
  • 在 Tkinter 中向按钮添加图像

    我正在尝试将图像添加到按钮 但是当我尝试执行当前代码时遇到一些问题 它所显示的只是一张没有文字的图像 我也看不到按钮 有什么方法可以修复我当前的代码吗 from tkinter import import tkinter as tk roo
  • 发送意图的进程的 Pid

    我正在尝试发现向我发送意图的进程的进程 ID 或包名称 我不想将进程 ID 或包名称放在额外的内容中 正如其他一些问题所要求的那样 因为我不想允许欺骗 我使用的代码是 Override public void onCreate Bundle
  • 为什么session[:]在grape-rails中不起作用?

    我使用 Rails 和 Grape 作为 API 我只是好奇为什么没有session something 葡萄的方法 我可以创建 cookie 但也无法创建签名 cookie 它给我一个错误 Grape 是一个用于构建 API 的轻量级框架
  • 主屏幕网络应用程序的 Facebook 身份验证已损坏!+

    使用元名称 apple mobile web app capable 内容 yes 删除所有移动 safari ui 时 Facebook connect js js api 无法与主屏幕 web 应用程序一起使用 经过身份验证后 我会看到
  • 从活动之外的类启动意图

    我有两项活动 其中一项称为MyActivity 我希望他们都能够使用位于我们可以调用的类中的函数MyClass In MyClass 我尝试使用意图来启动活动AnotherActivity 由于构造函数采用上下文作为参数 因此我只是尝试在构
  • Hibernate @Version 注释

    hibernate version 和 ManyToOne Mapping 之间的关系是什么 假设我有两个表 部门 和 员工 这是部门是主表 和明细表中的员工 在 Employee 表中 部门 ID 作为外键引用 这是我的课程 Public
  • 在 PowerShell 上将节点从一个 XML 导入到另一个 XML

    我需要将名称为 ProjectOptions 的节点从default xml 复制到original xml 而不修改任何其他内容 原始 xml
  • 如何将 Google 数据存储用于未托管在 Google 应用引擎中的网络应用?

    我想在我的网络应用程序中使用谷歌的数据存储 但不想将其托管在谷歌应用程序引擎中 我想将其托管在其他机器上 那么我如何在这样的网络应用程序中使用数据存储 会更经济吗 您需要遵循从其他平台访问 Cloud Datastore API程序 本部分
  • 列表的 ViewModel 验证

    我有以下视图模型定义 public class AccessRequestViewModel public Request Request get private set public SelectList Buildings get pr
  • Rust *准确地*如何查找模块?

    Rust 用于从文件中查找模块的确切规则集是什么 我在网上找到的关于模块的每一个解释都说 这是模块的目的 这是一个例子 没有一个给出完整 全面 100 准确的解释Rust 如何查找模块 就连铁锈参考没有告诉您板条箱根和导入文件是否都需要声明
  • 使用 printf 连续打印数字并填充零

    在 C 中 使用 printf 我想打印一个数字序列 所以我从 for 循环中得到 1 2 9 10 11 我根据这些数字创建文件 但是当我使用 ls 列出它们时我得到 10 11 1 2 因此 我不知道如何打印 而不是尝试使用 bash
  • 使用 FileSavePicker 在 Windows Phone 8.1 中保存图像

    我想使用文件保存选择器保存图像 我在用this保存链接 但它仅适用于文本 我如何修改它以保存图像 正如你所提供的the link那么我假设你设法得到了存储文件 after 延续 这就是它在 WP8 1 运行时的工作方式 我还假设你有一个St
  • Scala 的 apply() 方法魔法是如何工作的?

    在 Scala 中 如果我定义一个名为apply在类或顶级对象中 每当我将一对括号附加到该类的实例 并为apply 在他们之间 例如 class Foo x Int def apply y Int x x y y val f new Foo
  • ASP.Net Ajax - PageMethods 同步调用和检索结果

    如何在ASP Net Ajax PageMethods中同步调用并检索结果 目前我正在做以下事情async调用并处理数据 function checkName name PageMethods IsAvailable name onSucc
  • 发送带有返回路径的电子邮件不起作用

    我在用System Net Mail电子邮件 在代码中 我设置电子邮件的返回路径如下 string sReturnPath ConfigurationManager AppSettings ReturnPath ToString if sR
  • event 是一个全局变量,可以在回调链中的任何地方访问吗?

    我只是用 DOM 和 Javascript 来玩弄事件监听器 并注意到了这一点 function chained msg console log msg event function onClick chained the body was
  • 即使没有网络可用,如何保存 WebView 内容以供显示?

    我正在创建一个应用程序并使用 WebView 来打开 URL 我看到一些应用程序向用户提供 保存页面 网页 选项 我想知道如何从 WebView 保存页面 以便我可以在用户请求时将其显示给用户 也许使用缓存是最好的方法 为此你应该检查htt
  • 为什么这个 jQuery 事件不会在 Gmail 中触发?

    我在将 jQuery 事件绑定到 gmail body 时遇到问题 body on click function event console log Entered function 访问 IMDB com 例如 并在 Google Chr