如何在 JS/HTML 中的 ondblclick 之前阻止 onclick 触发

2024-03-21

<html lang = "en">
  <head>
    <title> Visibility control </title>
    <meta charset = "utf-8" />
    <script type = "text/javascript"  src = "showHide.js" >
    </script>
  </head>
  <body>
    <form action = "">
      <div id = "saturn"  style = "position: relative; 
           visibility: visible;">
        <img src = "../images/saturn.png" 
             alt = "(Pictures of Saturn)" />
      </div>
      <p>
        <br />
        <input type = "button"  value = "Show/Hide"
               onclick = "ShowIMG()" ondblclick = "HideIMG()" />
      </p>
    </form>
  </body>
</html>

这是html部分。我在这里所做的是,当用户单击按钮一次时,将调用 showIMG 函数来显示图像。当用户在 3 秒内单击两次时,将调用 hideIMG 函数,并且图像会消失。

function ShowIMG() 
{
    dom = document.getElementById("saturn").style;  

    if (dom.visibility == "hidden")
    {
        dom.visibility = "visible";
    }
}

function HideIMG() 
{ 
    var theDelay = 3000;

    setTimeout(function()
    {
        dom = document.getElementById("saturn").style;

        if (dom.visibility == "visible") 
        {
            dom.visibility = "hidden";
        }

    }, theDelay);
}

ondblclick 事件首先触发 onclick 事件。所以它弄乱了代码。


您可以延迟 onclick 的执行,看看它是否真的是双击。但你会失去响应能力:

var dble = false;
function ShowIMG() 
{
    window.setTimeout(function(){
        if(!dble){
            dom = document.getElementById("saturn").style;  

            if (dom.visibility == "hidden")
            {
                dom.visibility = "visible";
            }
        }
        dble = false;
    }, 500); //this is how long it waits for the double click
}

function HideIMG() 
{ 
    dble = true;

    dom = document.getElementById("saturn").style;

    if (dom.visibility == "visible") 
    {
        dom.visibility = "hidden";
    }
}

See the 500延迟超时?这是查看双击是否触发所需等待的时间(以毫秒为单位)。越短越好(对于响应能力),但也越短,之后发生双击的风险就越大。

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

如何在 JS/HTML 中的 ondblclick 之前阻止 onclick 触发 的相关文章

  • 如何从 Javascript/Typescript 中的数组对象计算运行总计并使用 HTML 在每个实例上显示输出?

    我正在开发一个 MEAN 堆栈项目 并且有一个如下所示的数组 savings any 300 450 350 500 我还有一个名为 saving bf 的变量 它是从数据库中检索的结转储蓄 其值如下 savings bf 15000 我想
  • AngularJS:选择非 2 路绑定到模型

    我正在使用选择来显示客户名称 用户应该能够选择现有客户端 然后更新范围属性 控制器 初始化 首选 if scope clients length gt 0 scope existingClient scope clients 0 View
  • 我需要一个 jQuery Autocomplete 使用 ajax 返回 id 和 name 的示例

    我需要一个示例 说明如何编写 jQuery 自动完成代码来填充product id 同时显示调用ajax 页面 remote php 的product name
  • Chrome 开发工具:无需切换到“源”选项卡即可进入调试器

    如果我把debugger https developer mozilla org en US docs JavaScript Reference Statements debugger当 Chrome 开发工具打开时 我的 JavaScri
  • 如何翻转 Twitter Bootstrap 的工具提示

    我正在使用 Twitter 的 Bootstrap 来实现工具提示 目前 工具提示显示在链接上方 我希望工具提示出现在链接下方 我该怎么做呢 我正在触发工具提示 它明确指出 底部 但它不想为我工作 tooltip tooltip place
  • Swift - 将图像插入 PDF 不再适用于 iOS 13

    目前正在开发在我的贷款计算器应用程序上导出 PDF 的功能 我有一个预览屏幕 可以在您保存 PDF 之前显示它 预览屏幕由带有 html 的 webView 组成 其中包含占位符 我能够成功地将图像插入到正确的占位符上 并将其显示在 PDF
  • Chrome JavaScript 日期构造函数获取 1884 年之前的日期似乎是错误的

    如果我将 1 1 1753 午夜 的 unix 毫秒时间戳值 6847786800000 传递给 Chrome 中的 JavaScript Date 构造函数 则 Chrome 给出的日期看起来非常奇怪 当我使用带有七个参数的 Date 构
  • 如何在美人鱼节点描述中添加链接?

    我想 如下图所示 div class mermaid graph TD A hello B an b important b link A gt B div 在下面添加实际链接link指向http google com 我尝试将相关节点修改
  • 如何在 Angular 2 应用程序中使 DateAdapter 单例?

    我正在开发一个带有延迟加载模块的 Angular 7 应用程序 我也使用有角度的材料组件 我想在日期选择器组件中本地化并支持多个区域设置 当应用程序语言发生变化时 我想在整个应用程序中全局更改它 可以通过 DateAdapter setLo
  • 在 JQuery ui 自动完成中显示图像

    我有一个带有 JQuery ui 自动完成功能的脚本 可以完美运行 有一个显示用户名字和姓氏的搜索过程 但在我的数据库中 还有用户的图片 我想将其显示在带有名字和姓氏的建议中 数据库中pic包含图片url 剧本 function searc
  • 如何使用 poedit 解析 Timber(树枝)模板并检测要翻译的引用字符串

    我想用 poedit 解析 Timber 的树枝模板 并且需要翻译引用的内容 问题是我找不到不跳过引用内容的解析器 Example
  • 在移动网站中处理 iPhone 事件(如向左滑动)

    iPhone 浏览器是否有可以使用 Javascript 挂钩的特殊事件 例如 如果用户向左滑动 我想执行某个操作 如果有类似的活动 很高兴看到所有这些活动的参考 理想情况下 有一天所有触摸屏移动浏览器都会有一个标准 您可以访问多点触控事件
  • Socket.io 与服务器离线连接

    如何检测服务器是否离线或由于其他原因无法连接 我的代码看起来像这样 this socket io connect connectionInfo reconnect false 它不会抛出任何错误 因此 try catch 子句不起作用 Us
  • 什么是 TinyMCE jQuery 包?

    我被要求在项目中使用 TinyMCE 编辑器 在下载页面上 有一个主包 然后是一个 jQuery 包 This package contains special jQuery build of TinyMCE and a jQuery in
  • 响应式2列2行布局

    我一直在试图弄清楚如何创建这个布局 我有一个 2 列布局 左列有 1 行 右侧有 2 行 我试图让它流畅地调整 我遇到的问题是 我希望右侧顶部图像的顶部与左侧图像的顶部对齐 而底部图像的底部与左侧图像的底部保持对齐 我应该使用桌子吗 这是我
  • 在firefox上用js改变表单方法

    我需要使用 javascript jQuery 或纯 更改表单的方法属性 我的表单有 method post 我尝试用以下方法更改它 submit button click function var url input id url val
  • JavaScript 正则表达式两个标签之间的多行文本

    我编写了一个正则表达式来从 HTML 中获取字符串 但似乎多行标志不起作用 这是我的模式 我想将文本输入h1 tag var pattern div class box content 5 h1 lt lt h1 gt mi m html
  • 带缩略图的轮播和 bootstrap v4

    我看到了带有缩略图的轮播演示bootstrap 3 here http jsfiddle net talmand JS6JV 我正在尝试为 bootstrap v4 实现相同的功能 但无法弄清楚如何修复一些 UI 细节 例如左 右阴影覆盖整
  • 角度 4 单击按钮功能未触发

    我正在尝试检查文本输入是否为空或不在角度 4 中 我没有为此使用表单 这只是一个输入字段 当我在下面的按钮中执行 addLocaton 函数时 需要进行检查 我的输入字段
  • JavaScript 中“键”的类型是什么?

    当我失去焦点并开始思考一个愚蠢的问题时 我遇到了这样的时刻 var a b value b 的类型是什么 我的意思不是 值 的类型 而是标记为 b 的实际键 背景 当我必须创建一个字符串键时 我开始想知道这一点 var a b value

随机推荐

  • 一个可定制的 diff 工具,可以生成报告(XML、HTML 格式)

    我想为非回归测试提供差异报告 我的程序是基于 Java 的 但我没有找到任何 API 来满足我的需求 因此 我使用外部工具 CSDiff 它接受 2 个文件作为参数并返回 HTML 报告 这很好而且很容易设置 现在我遇到的唯一问题是 HTM
  • iPhone——当 alpha 设置为零时,为什么 UIViews 上的 TouchBegan 不触发?

    是否正在进行一些优化以删除视图或其他内容 尽管我已经将其设置为透明 但我仍然希望它能够接收触摸事件 如果 alpha 0 这些事件似乎不会触发 你说得对 在透明视图上检测不到触摸 http developer apple com iphon
  • 1024px宽度的屏幕和1024px宽度的平板电脑是冲突的

    我正在使用 MediaQuery 创建响应式网站布局 如下所示 除了一个邪恶的问题外 一切正常 core css 默认应用于站点 它是桌 面版本的样式表 但正如您在此链接中看到的 当屏幕宽度为 1024px 或以下时 它将链接到 table
  • 无论页数如何,pyPdf 输出文件的大小都相同

    我正在尝试使用 pyPdf 将大型 pdf 中的几页提取到单独的文件中 每当我这样做时 生成的文件大小几乎与源文件相同 我认为这与文件内的书签有关 因为如果页面不包含任何链接 输出文件的大小会非常小 我不知道如何从输出文件中排除书签 fro
  • 如何用不同的颜色绘制填充路径/形状

    我需要为屏幕上的形状着色任何我想要的颜色 我目前正在尝试使用 UIImage 来做到这一点 我想根据我的愿望重新着色 据我所知 做到这一点的唯一方法是获取 UIImage 的各个像素 这需要我编写更多行代码来解决这个问题 除了我写的之外 还
  • 如何在下面顶部的集合视图中添加部分标题

    我正在使用带有搜索栏的集合视图 我通过 cod 添加了搜索栏 起始位置为 0 0 从顶部开始 所以现在我的图像看起来像这样 在此处输入图像描述 1 1 但我需要将标题转到我的搜索栏 我是通过故事板完成的 但是在运行时 我的标题名称和搜索栏具
  • 带文本的 QToolButton:覆盖最小高度以模仿常规按钮高度

    我正在显示Q工具按钮 http doc qt io qt 5 qtoolbutton html带有图标加文本的 s Qt 图标旁边的工具按钮文本 http doc qt io qt 5 qt html ToolButtonStyle enu
  • PHP 不从数据库发布信息

    我正在尝试从我创建的数据库发布信息 但它不起作用 我不断收到此错误 您的 SQL 语法有错误 检查与您的 MySQL 服务器版本相对应的手册 了解在第 1 行 Content Calendar ORDER BY Program 附近使用的正
  • 有没有办法获取java文件/行号?

    在 C C 中 文件名由以下命令返回FILE行号由返回LINE Java确实有一个getFileName 但似乎没有对应的getLineNumber 如果能够做这样的事情那就太好了 catch Exception e System err
  • UIGraphicsGetImageFromCurrentImageContext() 视网膜分辨率?

    我正在给我的屏幕拍照并使用UIGraphicsGetImageFromCurrentImageContext 一切都运转良好 然而 在 iPhone 4 上 分辨率看起来相当糟糕 因为它使用的图像似乎是标准分辨率 而不是 2x 有什么方法可
  • 我可以使用自制软件在 x86_64 上安装 arm64 库吗?

    我正在 x86 64 MacOS 11 上针对 arm64 架构进行交叉编译 clang XCode 支持它 但当需要外部库时我遇到问题 例如 让它成为提升 我知道arm64的瓶子是可用的 但看起来没有办法选择它来安装 arch arm64
  • ggtern 破坏 ggplot2 并生成没有轴标签等的图

    我注意到 自从ggplot2发布了他们的新版本 3 3 0 我无法再使用该包ggtern 因为它完全破坏了我用ggplot2 library ggplot2 df lt data frame x c 1 2 y c 2 1 ggplot d
  • 在 SQL 中连接多个表

    有人可以向我解释一下连接吗 内连接根据where条件选择公共数据 左外连接从左表中选择所有数据 而不考虑公共数据 但从右表中获取公共数据 右外连接反之亦然 我知道基础知识 但当涉及到 5 8 10 个以上的表时 问题仍然存在 假设我有 10
  • 在构建期间设置 web.config 属性(而不是通过发布)

    我正在尝试使用 Web 安装项目部署应用程序 我遇到的问题是 web config 文件从未被转换 根据这个post https stackoverflow com questions 3922291 use visual studio w
  • 使用解决方案文件夹时没有 CMakePredefinedTargets

    在 CMake 中使用 VS 解决方案文件夹时 使用 set property GLOBAL PROPERTY USE FOLDERS ON set target properties MyProject PROPERTIES FOLDER
  • 如何在 Windows Forms 2.0 中从子窗体关闭父窗体?

    我需要从 Windows 应用程序的子窗体中关闭父窗体 最好的方法是什么 我遇到了这个博客条目 看起来它可以工作 并且它使用了 D2VIANT 答案中的事件处理程序概念 http www dotnetcurry com ShowArticl
  • Ghost脚本错误

    在特定 PDF 上 运行以下命令时 gs dSAFER dBATCH dNOPAUSE dQUIET dFirstPage 1 dLastPage 1 sDEVICE pdfwrite sOutputFile output pdf inpu
  • 如何克隆 JAXB 对象

    我有一些需要克隆的 jaxb 对象 由 jaxb 从 xsd 生成的代码实例化 Jaxb 类似乎没有提供可以轻松完成此操作的接口 我无法手动编辑该类 也无法扩展它 所以我需要创建一个帮助器 实用方法来执行此操作 最好的方法是什么 鉴于 JA
  • 如何覆盖 gem 中的 Rails 生成器模板?

    当您想要覆盖生成器模板 而不替换生成器本身 时 在 Rails 3 中 您只需将文件拖放到 lib templates 中适当命名的位置 Rails 就会找到它们 如果你想用宝石来做到这一点怎么办 我正在尝试采用我团队的标准化脚手架格式并将
  • 如何在 JS/HTML 中的 ondblclick 之前阻止 onclick 触发