模拟输入上的点击事件 - JavaScript

2023-11-23

我试图通过点击来模拟输入标签的点击anchor标签,这样我可以隐藏输入并将图像包装在锚标签内。

这可以使用 jQuery 触发函数来工作,但我不能让它只使用“普通”Javascript:

jQuery 版本:

let fake = $('.fake')
fake.click(function(e) {
  e.preventDefault();
  $('#user_avatar').trigger('click');
})
#user_avatar { display: none; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<input type="file" name="file_field" id="user_avatar">
<a href="#" class="fake">
  <img src="https://fthmb.tqn.com/65lNzIRNfZY4xY02D17b1RcGvso=/960x0/filters:no_upscale()/kitten-looking-at-camera-521981437-57d840213df78c583374be3b.jpg" width="320" height="240">
</a>

JavaScript 版本使用new Event and dispatchEvent:

let fake = document.querySelector('.fake');
fake.addEventListener('click', function(e) {
  e.preventDefault();
  console.log('testing');
  let clickEvent = new Event('click');
document.getElementById('user_avatar').dispatchEvent(clickEvent)
})
#user_avatar { display: none; }
<input type="file" name="file_field" id="user_avatar">
<a href="#" class="fake">
  <img src="https://fthmb.tqn.com/65lNzIRNfZY4xY02D17b1RcGvso=/960x0/filters:no_upscale()/kitten-looking-at-camera-521981437-57d840213df78c583374be3b.jpg" width="320" height="240">
</a>

console.log 已呈现,但事件没有被调度,我做错了什么?


Use:

document.getElementById('user_avatar').click();

经过测试,它有效。

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

模拟输入上的点击事件 - JavaScript 的相关文章

  • 使用 Angular 下载具有动态 src 的脚本

    Angular 提供了通过动态名称动态加载模板的方法ng include 该部分中的内联 JS 和 CSS 可以正常加载 但没有一个好的方法来下载带有动态 url 的脚本 我们需要下载脚本 相对于调用它们的 html 部分的路径 即我们有一
  • 如何将背景图像仅应用于一个反应页面而不是整个应用程序?

    注册页面示例 register background image linear gradient to right ff5722 0 ff9800 100 margin top 150px important div div div div
  • 可以使用 jQuery 或 Javascript 将图片的特定部分用作链接吗?

    我有这个想法 将图片 而不是文本 的各个部分链接到不同的页面或网站 并且我想在不实际创建不同的照片并将它们彼此靠近的情况下完成 这样看起来就像是一张完整的图片 这里有人知道如何使用 JavaScript 的变体 例如 jQuery 或纯 J
  • 标签获取 href 值

    我有以下 html div class threeimages a img alt Australia src Images Services 20button tcm7 9688 gif a div class text h2 a hre
  • JavaScript 重定向到新窗口

    我有以下代码 它根据下拉列表的值重定向到页面 我如何使其在新窗口中打开 function goto form var index form select selectedIndex if form select options index
  • MVC 在布局代码之前执行视图代码并破坏我的脚本顺序

    我正在尝试将所有 javascript 包含内容移至页面底部 我正在将 MVC 与 Razor 一起使用 我编写了一个辅助方法来注册脚本 它按注册顺序保留脚本 并排除重复的内容 Html RegisterScript scripts som
  • jquery从变量中删除html元素

    我将 html 保存在变量中 var itinerary events today html 我有很多 html 和一个按钮我想删除 它的 ID 为 myButton 如何从变量中保存的 html 中删除它 我建议这种方法 var itin
  • HTML 中部分着色的阿拉伯语单词

    我不会说阿拉伯语 但我需要我们网站上对阿拉伯语的具体支持 我需要将部分阿拉伯语单词放在 span 与单词其他部分的风格不同 当我输入两个字符时 and 它们被组合成word 但是当我使用 HTML 标记时 span span 这些字母在输出
  • 在 webpack 2.x 中使用 autoprefixer 和 postcss

    如何使用autoprefixer使用 webpack 2 x 以前 它曾经是这样的 module loaders test scss loader style css sass postcss postcss gt return autop
  • Iframe 相对路径挑战

    我有一个页面 在页面内有一个 Iframe 目录如下 Folder1 Folder2 IframeCSS IframeCSS Css iframePage1 html stuff css parentPage1 html 在 iframeP
  • Electron - 为什么在关闭事件时将 BrowserWindow 实例设置为 null

    The 电子文档 https electronjs org docs api browser window 提供以下代码示例来创建新窗口 const BrowserWindow require electron let win new Br
  • Angular 2+ 安全性;保护服务器上的延迟加载模块

    我有一个 Angular 2 应用程序 用户可以在其中输入个人数据 该数据在应用程序的另一部分进行分析 该部分仅适用于具有特定权限的人员 问题是我们不想让未经授权的人知道how我们正在分析这些数据 因此 如果他们能够在应用程序中查看模板 那
  • Javascript 数组到 VBScript

    我有一个使用 Javascript 构建的对象数组 我需要使用 VBScript 读取它 如下例所示 我找不到在 VbScript 代码中循环遍历数组的方法myArray object 这个例子是我的问题的简化 我无法更改页面的默认语言 这
  • 为 illustrator 导出脚本以保存为 web jpg

    任何人都可以帮我为 illustrator CC2017 编写一个脚本 将文件以 JPG 格式导出到网络 旧版 然后保存文件并关闭 我有 700 个文件 每个文件有 2 个画板 单击 文件 gt 导出 gt 另存为 Web 旧版 然后右键文
  • 我可以使用 jQuery 打开下拉列表吗

    对于 HTML 中的下拉列表
  • 如何在jquery中以相反的顺序迭代元素? [复制]

    这个问题在这里已经有答案了 我是jquery的新手 我想知道如何使用each 在jquery中以相反的顺序迭代表单元素 任何帮助 将不胜感激 尝试这个 input get reverse each function
  • JQuery 图像上传不适用于未来的活动

    我希望我的用户可以通过帖子上传图像 因此 每个回复表单都有一个上传表单 用户可以通过单击上传按钮上传图像 然后单击提交来提交帖子 现在我的上传表单可以上传第一个回复的图像 但第二个回复的上传不起作用 我的提交过程 Ajax 在 php 提交
  • 如何在 AngularJS 循环内使用标签

    所以我在里面ng repeat像这样 li li
  • 无效字符错误:“fred”

    我确信他一定是一个新手问题 简单来说 我想定义我的第一个 Polymer dart 组件 只是我一直在同一个减速带上踢脚趾 为了使事情变得非常简单 我将其简化为一个非常简单的示例 我做了一个简单的rename示例 跑表 来自 Dart 组件
  • fullCalendar 未显示正确的结束日期

    我正在看调试页面 http jsbin com wukofacaxu edit js outputFullCalendar 官方网站的 我想安排一个活动时间为 22 09 2015 至 30 09 2015 dd mm yyyy 但它只显示

随机推荐

  • Tomcat v7.0 停止在本地主机上运行我的项目

    我正在 eclipse 中使用 Tomcat v7 0 开发我的 Web 应用程序 一切都很好 但今天突然我无法再在服务器上运行我的项目了 我像往常一样做 右键单击我的项目 gt 运行方式 gt 在服务器上运行 然后选择在我的 Tomcat
  • 有符号/无符号比较

    我试图理解为什么以下代码不在指定位置发出警告 from limits h define UINT MAX 0xffffffff maximum unsigned int value define INT MAX 2147483647 max
  • 统一 Spark Dataframe 中多行 json 字符串的架构

    我有一个关于 PySpark DataFrame 中包含一系列 json 字符串的行的难题 问题围绕着每一行might包含与另一个不同的模式 因此当我想将所述行转换为 PySpark 中的可订阅数据类型时 我需要有一个 统一 模式 例如 考
  • 第二次尝试刷新时如何将页面重定向到另一个页面

    我尝试了这段代码 但它不起作用 In bbb jsp window onbeforeunload function window setTimeout function window location AAA jsp 0 window on
  • IntelliJ IDEA中如何设置环境变量?

    如何 在哪里 使用 IntelliJ idea 设置环境变量 例如 我期待设置 APP HOME 我的测试依赖 请问哪里可以做这个 大多数运行配置都可以选择设置环境变量
  • 在 Python 中使用尾随逗号连接或打印列表元素

    我的清单如下 gt gt gt l 1 2 3 4 如果我使用 join 语句 gt gt gt s join l 会给我输出 1 2 3 4 但是 如果我想要输出为 1 2 3 4 我知道我可以使用字符串连接 但我想知道一些更好的方法 字
  • Pandas groupby + 变换和多列

    为了获得在 groupby data 上执行的结果 其详细程度与原始 DataFrame 相同的观察计数 相同 我使用了转换函数 例子 原始数据框 name year grade Jack 2010 6 Jack 2011 7 Rosie
  • 包可见性[关闭]

    Closed 这个问题需要多问focused 目前不接受答案 为什么要使用包可见性 默认 除非该类在 java 中应该是 public 正如 Rostislav Matl 所说 当您想要制作不属于软件包界面一部分的东西时 它非常有用 举个例
  • AffineTransform:从中心缩放形状

    我正在尝试使用 AffineTransform 从中心缩放矩形 我确信解决方案是显而易见的 但我无法使其发挥作用 这是我迄今为止测试过的 import java awt Color import java awt Dimension imp
  • 如何更改 Lollipop 上最新 Chrome 版本中标题栏和地址栏的颜色?

    我还没有找到关于这个主题的任何内容 我真的很喜欢在概览上更改地址栏颜色和标题颜色的功能 是否有捷径可寻 我想你需要安卓5 0 Lollipop 要让它工作 而 Chrome 的合并选项卡和应用程序 set to On 经过一番搜索后我找到了
  • Javascript 字符串对象只读?

    a new String Hello a 0 H true a 0 J a 0 J false a 0 H true 这是否意味着我只能使用字符串作为字符数组 split 进而 join ANSWER 是的 在Javascript stri
  • 使用依赖注入注入依赖注入器

    对于依赖注入来说相当陌生 我试图弄清楚这是否是一种反模式 假设我有 3 个程序集 Foo Shared this has all the interfaces Foo Users references Foo Shared Foo Paym
  • @RefreshScope 不工作 - Spring Boot

    我正在遵循此处描述的方法 https github com jeroenbellen blog manage and reload spring properties 唯一的区别是 就我而言 这些属性在多个类中使用 因此我将它们全部放在一个
  • Facebook 登录建议需要 HTTPS - 如何在 ASP.NET MVC 中为 Facebook 登录配置 HTTP 重定向 URL?

    Facebook 建议我使用 HTTPS 重定向 URL 而不是 HTTP 我一直在尝试找到一种方法来配置它来生成 HTTPS URL 目前它正在生成 HTTP URL http example com signin facebook sc
  • 数组的大小是在编译时确定的吗?

    当我在阅读有关数组初始化的内容时本教程 我发现了这个注释 type name elements 注意 方括号内的元素字段 表示数组中元素的数量 必须是常量表达式 因为数组是静态内存块 其大小必须在程序运行之前的编译时确定 据我所知 数组在运
  • 检查一个字符是否是Java中的特殊字符[重复]

    这个问题在这里已经有答案了 可能的重复 JAVA 检查字符串中是否有特殊字符 我是一名新手程序员 正在寻求帮助确定某个字符是否是特殊字符 我的程序要求用户输入文件名 程序读取文件中的文本并确定文本中有多少个空格 数字 字母和特殊字符 我已完
  • LARAVEL5 自定义登录

    我正在使用需要自定义登录的应用程序 我必须遵循这个流程 用户将进入登录页面 用户提交登录页面 应用程序将检查用户是否在数据库中 3 1 如果用户不在数据库中 会向第三方发送请求 检查是否登录成功 3 2 如果用户在数据库中 则验证密码 现在
  • statsmodel 中的 MNLogit 返回 nan

    我正在尝试在著名的虹膜数据集上使用 statsmodels 的 MNLogit 函数 当我尝试拟合模型时 我得到 当前函数值 nan 这是我正在使用的代码 import statsmodels api as st iris st datas
  • 有没有任何工具可以比较两个网页的结构?

    我从我们的创意团队收到 HTML 页面 然后使用它们构建 aspx 页面 我经常面临的一项挑战是让我输出的 HTML 与他们的完全匹配 我几乎总是把嵌套搞砸 div 位于我的页面和母版页之间 有谁知道在这种情况下有帮助的工具 可以比较两个页
  • 模拟输入上的点击事件 - JavaScript

    我试图通过点击来模拟输入标签的点击anchor标签 这样我可以隐藏输入并将图像包装在锚标签内 这可以使用 jQuery 触发函数来工作 但我不能让它只使用 普通 Javascript jQuery 版本 let fake fake fake