对于某些 HTML 内容,点击事件在 Safari Mobile 中不起作用

2023-12-13

在我的网络应用程序中,有一个针对移动设备的单独的导航栏。我希望当单击菜单按钮或单击网站中的其他任何位置时,此导航栏会折叠。它已经可以在任何移动浏览器中工作,但不能在 safari 移动浏览器中工作(在 safari 中,对于主页它也可以工作,但不能在其他页面中工作)。在其他页面中,有一些动态生成的html。看来点击事件不适用于这些内容。我真的很感激这个问题的解决方案。代码如下。我尝试过“body”、$(document)、window 而不是$('html')。对他们来说也不是这样。

$('html').click(function(event) {
            var clickover = $(event.target);
var $navbar = $(".navbar-collapse");               
var _opened = $navbar.hasClass("in");
if (_opened === true && !clickover.hasClass("navbar-toggle")) {      
    $navbar.collapse('hide');
}
        });

我也尝试过中提到的修复 iPad 的 jQuery 点击事件。但那里提到的代码根本不会触发。我为此尝试过的代码如下。

var ua = navigator.userAgent,
event = (ua.match(/iPad/i)) ? "touchstart" : "click";

$('body').bind(event, function(e) {
            var clickover = $(event.target);
var $navbar = $(".navbar-collapse");               
var _opened = $navbar.hasClass("in");
if (_opened === true && !clickover.hasClass("navbar-toggle")) {      
    $navbar.collapse('hide');
}

}

我真的很感激我的问题的答案(我为此工作了一天多,但没有找到解决方案)。


无论如何,我终于找到了解决方案。原因是,iPhone Safari 不支持事件委托。我最初的要求是在单击 HTML 正文时触发单击事件。不管怎样,这个问题只发生在 Safari 移动设备上,我发现的原因是 Safari 不支持点击事件的事件委托。我通过在主体 CSS 中添加以下代码解决了这个问题。

cursor: pointer;

我得到答案的资源是,iPhone 上的单击事件委托

and

jQuery 单击事件在 iOS 中不起作用:答案

Dohab,也谢谢你的回答。

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

对于某些 HTML 内容,点击事件在 Safari Mobile 中不起作用 的相关文章

  • 如何在 Bootstrap 3 中制作进度条动画?

    我正在尝试为 Bootstrap 进度条设置动画 但我不知道该怎么做 我得到了宽度的值但是console log bar width 返回宽度px但不是 如内联所示style width 90 我用代码重新创建了一个 bootply Boo
  • 在 HTML 中移动选取框/下移文本

    我正在尝试向下移动或移动 HTML 中的文本 但我似乎无法将其移动到任何地方 我添加了一个颜色命令来更改文本的颜色 但似乎只是移动了 它一直到顶部
  • 使用 Javascript / Jquery 的本地存储(不使用 HTML5)

    我想在 javascript 或 jquery 中复制本地存储概念 类似于 HTML5 但不幸的是我不知道如何开始 任何人都可以建议如何使用 javascript 或 jquery 实现本地存储 不使用 HTML5 这是一个有点愚蠢的差事
  • 光滑的轮播缓动示例

    我正在使用 Slick Carousel http kenwheeler github io slick http kenwheeler github io slick 但不知道如何合并不同的幻灯片切换 有人有例子可以分享吗 这是我目前拥有
  • Web SQL 数据库 + Javascript 循环

    我正在尝试解决这个问题 但我自己似乎无法解决 我正在使用 Web SQL DB 但无法让循环正常使用它 I use for var i 0 i lt numberofArticles 1 i db transaction function
  • 使用 onBlur 事件上的值更新 React 输入文本字段

    我有以下输入字段 在模糊时 该函数调用服务来更新服务器的输入值 完成后 它会更新输入字段 我怎样才能让它发挥作用 我可以理解为什么它不允许我更改字段 但我能做些什么才能使其工作 我无法使用defaultValue因为我会将这些字段更改为其他
  • Javascript 选择 onchange='this.form.submit()'

    我有一个带有选择和一些文本输入的表单 我希望在更改选择时提交表单 使用以下方法可以正常工作 onchange this form submit 但是 如果表单还包含提交按钮 则当选择更改时 表单不会提交 我猜有某种冲突 我在这里有什么选择
  • 如何在 angularjs 中修剪()字符串?

    有角度特定的方法吗 如果没有 我应该使用内置的jquery 来做到这一点吗 如果我应该使用内置的jquery 如何在不使用 的情况下访问trim 函数 或者这是必要的 编辑 是的 我知道 str trim 对不起 我需要这个才能在 IE 8
  • Meteor.js 登录事件

    因此 我对 Meteor 框架和 JavaScript 总体来说还很陌生 但我正在使用该框架开发一个小项目 以尝试让自己达到标准 基本上我正在开发一个微博客网站 目前 用户可以通过多种服务登录 fb google 等 我通过插入所需 url
  • Excel 类似 HTML 表格,可在 x 轴(完整表格)和 y 轴(标题固定)上滚动

    我想建立一个具有固定宽度列的表格 在大多数情况下 表数据会水平和垂直溢出 如果列的宽度大于视图宽度 则需要水平滚动条来滚动并查看所有表列 同时滚动标题和数据 如果数据的高度大于可用视图 则会出现垂直滚动框 但在滚动时保持标题固定 以便用户关
  • 使用Promise而不拒绝它会导致内存泄漏吗? [复制]

    这个问题在这里已经有答案了 代码如下 function test value return new Promise function fulfill reject try fulfill true catch e throw e 我担心的是
  • 为什么我需要 $(document.body) 来使用 Mootools Element 方法扩展 document.body?

    因此 在尝试让我的应用程序在最新的 IE 上运行后 结果发现 IE 不喜欢以下代码 document body getElement className Firefox 和 Chrome 响应良好 但是document bodyIE 上没有
  • 在声明组件选择器时添加指令 - Angular 7

    我正在学习 Angular 并通过单击按钮动态创建组件 我正在尝试使用 Angular Material 的拖放功能来拖动这些创建的组件以对它们进行排序 我的基本组件 html 中有以下代码 div style margin 20px di
  • iOS 5 中的 webkit-overflow-scrolling: touch "handle" 是否有外观 CSS 规则?

    我有一个元素恰好同时具有 webkit overflow scrolling touch 和 background color black 因此显示滚动位置的 手柄 很难看到 是否有 webkit CSS 样式规则可以改变该 手柄 的外观
  • ThreeJS无法加载Json文件

    首先 我已经读过这个问题 https stackoverflow com questions 17201888 three js exporter export object not working with jsonloader r58没
  • 如何根据所需表单输入的值更改 CSS 样式

    我想知道如何编写 javascript 来改变所需的表单元素的样式 如果它们有价值的话就改变它们 我想要做的是当所需的文本字段为空时 在它们周围有一个彩色边框 并在它们有值时删除边框样式 我想做的是编写一个 javascript 函数来检查
  • 如何在 JavaScript 中获取浮点数的小数位?

    我想要的是与 Number prototype toPrecision 几乎相反的 这意味着当我有数字时 它有多少位小数 例如 12 3456 getDecimals 4 对于任何想知道如何更快地完成此操作 无需转换为字符串 的人 这里有一
  • 使用 jquery 提供附加功能时菜单未正确对齐

    I need to make a mega menu similar to one as show in image below 到目前为止 我已经能够在某种程度上使其发挥作用 例如jsFiddle 在这里 http jsfiddle ne
  • Bootstrap 3 多个导航栏

    我在 Twitter Bootstrap 3 中的多个引导程序中遇到问题 第一个导航栏可以正常调整大小和响应 第二个导航栏在正常分辨率下无法正常工作 但是当我尝试调整大小以响应并调整大小后 它可以正常工作 这是一些代码
  • 使用 Lodash 将对象键转换为具有键值数量的数组[重复]

    这个问题在这里已经有答案了 我有一个产品对象 products bread 1 milk 2 cheese 2 chicken 1 我想要一个包含产品名称的数组 如下所示 products bread milk milk cheese ch

随机推荐

  • 获取其他收件箱的参考

    我正在使用 Outlook 2007 并且有我的主邮箱 Tait Mark 我还在我的个人资料中添加了另一个邮箱 采购 请求 两者都显示为 Outlook 中的顶级文件夹 邮箱 泰特 马克 gt 对话历史记录 删除的项目 草稿 收件箱 垃圾
  • 在 WCF 中处理图像

    我有一个桌面应用程序 需要通过 TCP 协议向服务计算机上传 下载图像 起初 我将图像存储在文件系统中 但我需要在 MS SQL DB 中比较哪种解决方案更好 图片数量超过五十万 我还不知道照片尺寸是否有限制 如果您曾经这样做过 请写下您对
  • 在 JavaScript 中更改另一个函数中的变量

    我对 JavaScript 还很陌生 并且对变量和函数的一些属性遇到了麻烦 我想要发生的是有一个var在一个函数中定义 在另一个函数中更改值 然后将新值返回到最初定义它的函数 这是我制作的一个简单示例 function getIt var
  • 文本排序顺序的 MIN/MAX

    在 SQL Server 中 MIN 和 MAX 可以作用于不计算为数字的文本 返回具有最低或最高文本排序顺序的文本项 或者如 SQL Server 中所说的 排序顺序 是否可以在 Excel 中执行此操作 而无需使用实际排序的 UDF 例
  • malloc 和 calloc 与 std::string 之间的区别

    我最近开始接触 C 并且在使用 malloc 时遇到了问题 下面的代码不会打印出 成功 程序崩溃 退出代码为 0xC0000005 而如果我使用 calloc 则一切正常 int main std string pointer std st
  • 为什么使用 boost::multi precision::cpp_int 会影响这里的尾调用优化

    我有一些模板化代码 编译器可以对大多数数据类型进行尾部调用优化 但不能对其他数据类型进行尾部调用优化 代码实现了pow template
  • 如何在 gnuplot 中对箱线图异常值进行分组

    我有大量数据点 我尝试用箱线图绘制它们 但一些异常值是完全相同的值 并且它们表示在彼此旁边的一条线上 我发现如何设置gnuplot箱线图中异常值之间的水平距离 但这并没有太大帮助 因为这显然是不可能的 是否可以将异常值分组在一起 打印一个点
  • 如何撤消对 vim 中文本块的所有更改?

    是否可以选择一些带有视线的文本并撤消从一开始对其所做的所有更改 实际上 我是通过撤消所有拉动块的操作 然后将所有内容重做到最后一次修改 然后用拉动的文本替换该块来实现的
  • 如何从 Java 函数返回值?

    我正在尝试让以下程序运行 public class funWithNumbers public static void main String args int ten 10 int subend 7 int result ten sube
  • Android 图像位于 /assets 或 res/raw

    如果我想将一堆图像放入文件夹结构中 例如 我正在构建一个海滩应用程序 每个海滩都通过我的海滩详细信息活动显示 具体取决于从我的海滩列表中选择的海滩 然后我想显示来自该特定海滩的五张图像 每个海滩都会有一个文件夹 其名称与海滩的 id 相对应
  • 如何使用 Spring 4.0.6 全局设置 Hibernate 4.3.5.Final 的 FlushMode?

    我正在尝试使用 Hibernate 4 3 5 Final 和 Spring 4 0 6 升级我们的应用程序 我的应用程序中任何具有数据库写入操作的位置都会出现如下错误 Caused by org springframework dao I
  • JasperReports / iReport Designer:我可以有条件地显示乐队吗?

    我创建了一个报告如下 多个细节带 每个详细信息带包含 1 个表 每个表链接到 1 个数据集 每当查询的结果集返回空集 未找到结果 时 我可以隐藏详细信息带吗 我怎样才能做到这一点 在每个详细信息区域的 属性 中 您有一个名为 打印表达式 的
  • 更新到最新的 Angular cli 版本后,NG v 仍然显示旧版本号?

    我已发出以下命令 如图所示 我收到一条成功消息 说 Angular cli 已更新到 10 0 版本 但是当我运行 ng v 命令时 我得到了旧版本号 那么真的更新了吗 这里有什么问题呢 如何全局更新到最新版本 以便当我通过 cli 生成新
  • 将父级 ​​div 与浮动子级居中

    父级没有定义宽度 因为里面有未知数量的子级 为什么孩子会掉入新的队列以及如何预防 孩子们需要站在同一条线上 wrap position absolute left 50 top 50px height 40px transform tran
  • 防止 IE11 在 Angular 2 中缓存 GET 调用

    我有一个休息端点 它在 GET 调用上返回一个列表 我还有一个 POST 端点来添加新项目和一个 DELETE 来删除它们 这适用于 Firefox 和 Chrome POST 和 DELETE 则适用于 IE11 但是 IE11 中的 G
  • Matlab 中两个向量的直方图

    先谢谢您的帮助 我有两组平行向量 x 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
  • 使用基本模板时如何避免重复上下文设置过程?

    使用时jinja2 基本 骨架 模板通常由许多其他模板扩展 我的基本模板之一需要上下文中的某些变量 并且在任何使用此基本模板的地方都必须重复设置过程 例如 我可能需要从数据库读取一些类别名称并将它们呈现为标题中的列表 现在我必须在使用基本模
  • java中如何比较字符串数组中的元素?

    我正在尝试在字符串数组中查找重复的单词 这是我的比较代码 for int j 0 j lt wordCount j for int i wordCount 1 i gt j i if stringArray i compareTo stri
  • 使用分隔符打印列表中的所有项目

    考虑这个用于打印逗号分隔值列表的 Python 代码 for element in list print element 在以下情况下 打印时不出现逗号的首选方法是什么element是列表中的最后一个元素 ex a 1 2 3 for el
  • 对于某些 HTML 内容,点击事件在 Safari Mobile 中不起作用

    在我的网络应用程序中 有一个针对移动设备的单独的导航栏 我希望当单击菜单按钮或单击网站中的其他任何位置时 此导航栏会折叠 它已经可以在任何移动浏览器中工作 但不能在 safari 移动浏览器中工作 在 safari 中 对于主页它也可以工作