首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在vanilla javascript中单击文档时关闭输入

在vanilla JavaScript中,可以通过以下步骤来实现单击文档时关闭输入:

  1. 首先,需要获取文档中的输入元素。可以使用document.querySelectordocument.getElementById等方法来获取特定的输入元素。例如,如果有一个输入框的id为inputBox,可以使用以下代码获取该元素:
代码语言:txt
复制
const inputBox = document.getElementById('inputBox');
  1. 接下来,需要为文档添加一个单击事件监听器。可以使用addEventListener方法来为文档添加单击事件监听器。以下是添加单击事件监听器的示例代码:
代码语言:txt
复制
document.addEventListener('click', function(event) {
  // 在这里编写关闭输入的代码
});
  1. 在单击事件监听器的回调函数中,需要判断点击事件的目标元素是否为输入元素或输入元素的子元素。可以使用event.target属性来获取点击事件的目标元素。如果目标元素是输入元素或输入元素的子元素,则不执行关闭输入的操作。否则,执行关闭输入的操作。以下是判断目标元素的示例代码:
代码语言:txt
复制
document.addEventListener('click', function(event) {
  if (!inputBox.contains(event.target)) {
    // 在这里编写关闭输入的代码
  }
});
  1. 最后,关闭输入的操作可以通过将输入元素的disabled属性设置为true来实现。这将禁用输入元素,使其无法接收用户输入。以下是关闭输入的示例代码:
代码语言:txt
复制
document.addEventListener('click', function(event) {
  if (!inputBox.contains(event.target)) {
    inputBox.disabled = true;
  }
});

完整的代码示例:

代码语言:txt
复制
const inputBox = document.getElementById('inputBox');

document.addEventListener('click', function(event) {
  if (!inputBox.contains(event.target)) {
    inputBox.disabled = true;
  }
});

这样,当用户单击文档中的其他区域时,输入框将被禁用,无法接收用户输入。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

如何制作自己的原生 JavaScript 路由

当你想到路由,通常会想到类似 React 之类的库。但实际上,这些库和框架仍然使用 vanilla JavaScript。那么该怎么实现呢?...每当在浏览器的地址栏输入新的 URL,但我们不想刷新页面,就会发生这种情况,我们只是想通过加载新内容来刷新视图。 你可以选择将路由存储在 routes[] 数组。...结果:现在,每次我们单击按钮,URL 实际上都会在浏览器的地址栏更改。内容框也会更新。 ? 我们的原生 JS 路由开始运行了。请注意,每次单击按钮,history.pushState 被触发。...(第一次是我们单击按钮。) 但是由于该事件带有单击的 id,因此单击 Back 或 Forward 很容易刷新视图并重新加载内容。...在我的例子,只用了 router.html。当你第一次在 PWA 中加载此路由,必须确保如果直接在地址栏输入/page/home,它可以工作。 到目前为止,我们仅从前端更改了路由器地址。

3.8K20

如何移除或禁用 Ubuntu Dock

何在没有 Ubuntu Dock 的情况下访问活动概览 如果没有 Ubuntu Dock,你可能无法访问活动的或已安装的应用程序列表(可以通过单击 Dock 底部的“显示应用程序”按钮从 Ubuntu...安装 原生 Gnome 会话还将安装此会话所依赖的其它软件包, Gnome 文档、地图、音乐、联系人、照片、跟踪器等。...同样,你也可以从原生 Gnome 会话启用或禁用 Ubuntu Dock,这在 Ubuntu 会话是不可能的(使用 Ubuntu 会话无法从 Gnome Tweaks 禁用 Ubuntu Dock)...要在 Ubuntu 安装原生的 Gnome 会话,使用以下命令: sudo apt install vanilla-gnome-desktop 安装完成后,重启系统。...在登录屏幕上,单击用户名,单击 “Sign in” 按钮旁边的齿轮图标,然后选择 “GNOME” 而不是 “Ubuntu”,之后继续登录。

6.5K10
  • 网页制作105个问答

    在浏览器地址栏里,输入要察看的服务器地址,一定要包含目录和文档名字,然后回车,出现请求页面,试着把文档名改为大写格式,如果返回该页面不存在,那么可能该服务器使用的操作系统为unix或macintosh,...34.如何在NN4和IE4浏览器浏览相同效果的字体? 我们制作页面,利用IE4浏览器浏览,一切很正常。但用NN4浏览,发行细体字变成了粗体字了。...63.如何在页面利用单击关闭浏览窗口?...当你想知道流量单击易数图标,在统计页面单击分析即可。 70.如何让浏览器正确显示word文件格式?...如果你用FrontPage98工具,先把光标移到想放置javascript的地方,然后选择Insert/Advanced/script,在打开的文本框输入javascript,这样就放置好了。

    4.7K20

    WebDriverIO教程:处理Selenium的警报和覆盖

    在此有关Selenium警报处理的WebDriverIO教程,我将向您展示如何在WebDriverIO处理警报和弹出窗口以及叠加模式。...除了这些内置的javascript警报之外,还有一个弹出窗口称为“模式”。警报和模式警报之间的主要区别在于,如果没有请求的操作(“确定”或“取消”),警报将不会发出。...在模式,通过提供特殊的CSS代码使用标记来完成。单击模态以外的其他位置可以关闭该模态。 叠加模态 该模式是使用客户端框架(例如,引导程序,ReactJS)构建的。...没有特别的 这是叠加模式的示例: 现在,您已经熟悉javascript可用的另一种警报和模式。在本WebDriverIO教程,我将向您展示有关Selenium警报处理的更多信息。...警报只能通过预期的操作关闭,而覆盖模式可以通过单击背景上的任意位置来关闭。现在,我将向您展示如何使用WebDriverIO自动执行叠加模态。 当自动化模态,您不必处理特殊的代码或类。

    5.9K30

    WebDriverIO教程:处理Selenium的警报和覆盖

    在此有关Selenium警报处理的WebDriverIO教程,我将向您展示如何在WebDriverIO处理警报和弹出窗口以及叠加模式。...除了这些内置的javascript警报之外,还有一个弹出窗口称为“模式”。警报和模式警报之间的主要区别在于,如果没有请求的操作(“确定”或“取消”),警报将不会发出。...在模式,通过提供特殊的CSS代码使用标记来完成。单击模态以外的其他位置可以关闭该模态。 叠加模态 该模式是使用客户端框架(例如,引导程序,ReactJS)构建的。...没有特别的 这是叠加模式的示例: 现在,您已经熟悉javascript可用的另一种警报和模式。在本WebDriverIO教程,我将向您展示有关Selenium警报处理的更多信息。...警报只能通过预期的操作关闭,而覆盖模式可以通过单击背景上的任意位置来关闭。现在,我将向您展示如何使用WebDriverIO自动执行叠加模态。 当自动化模态,您不必处理特殊的代码或类。

    6.2K10

    高效方法 | Jupyter Notebook 比你想象的还要强大

    如果没有看到tab选项卡,请打开notebook,然后单击edit> nbextensions配置 可用的扩展选项可以在notebook的工具栏中看到: ? ▍该使用哪些扩展功能?...用JavaScript编写,它们可以执行自动编码代码或在单元格完成发送浏览器通知等操作。扩展目前仅适用于Jupyter Notebook(不是Jupyter Lab)。 为何使用这些扩展?...Autopep8:只需单击一下即可获得整洁的代码 我们都应该编写符合pep8标准的代码,但有时你会陷入分析,并且很难坚持最佳的实践。这个扩展允许你只需点击木槌并自动格式化你的凌乱代码。 ?...但这种方法可以很容易实现并覆盖notebook的所有单元格。 5.隐藏代码输入:隐藏工作显示结果 虽然我们的一些人喜欢看到分析的复杂代码过程,但有些人只是喜欢看到结果。...隐藏输入所有扩展名可以允许你在保持输出的同时立即隐藏notebook的所有代码。 ? 下次有人说他们只想看结果,您只需单击一下就可以解决(虽然你应该总是检查代码)。

    1.5K40

    JavaScript集锦

    用于包含JavaScript代码.? 属性? LANGUAGE 定义脚本语言? SRC 定义一个URL用以指定以.JS结尾的文件? windows对象? 每个HTML文档的顶层对象.? 属性?...protocol 含有URL第一部分的字符串,http:? host 包含有URL主机名:端口号部分的字符串.//www.cenpok.net/server/?...alinkColor 激活链颜色(鼠标按住未放).? forms[] 文档form对象的数组,按定义次序存储.? forms.length 文档的form对象数目.?...onClick 当用户单击Checkbox执行.? 单选按钮(radio)对象? 属性? name NAME属性的字符串值.? length radio对象单选按钮的个数.?...onFocus 当输入焦点进入域执行.? onBlur 当域失去输入焦点执行.? onChange 当域失去焦点且如果域的值相对于onFocus执行时有所改变,则执行onChange.?

    2.2K20

    9 个超实用的 JavaScript 原生插件工具

    英文 | https://javascript.plainenglish.io/9-best-vanilla-javascript-utilities-libraries-ff752592dfb5 翻译...对浏览器运行的任何内容进行快速可靠的测试。 Cypress允许你创建可以与单击按钮交互的测试,填写表格,这个很好地支持定期更新。...用于 JavaScript 的 API 文档生成器。 如果你需要记录你的个人功能,那么jsdoc是一个很好的工具。生成的文件非常基础,用于文档目的,你可以在短时间内拥有自己的功能文档。...该文档对于新开发人员来说也很棒且易于使用,并且在开始使用jsdoc不需要太多经验。 特别是如果你在团队工作,它会提高你工作流程的整体生产力,因为你已经定义了自己的功能。...如果你想限制 JavaScript 的 promise 或同时阻止来自服务器的所有请求调用,那么这个库适合你。

    1.2K20

    playwright基础教程

    它通过提供一组API,使得开发人员可以在浏览器模拟用户行为,例如单击输入文本和导航到不同的页面,同时还能捕捉截图和视频。...这意味着开发人员可以在不同的浏览器执行自动化测试,而无需更改测试代码。 多语言支持:Playwright支持多种编程语言,包括JavaScript,TypeScript,Python和Java。...基础用法 在输入输入文本 可以使用fill()方法在输入输入文本。...模拟键盘输入 可以使用keyboard对象模拟键盘输入。例如: await page.keyboard.type('hello') 此代码将在当前焦点元素输入“hello”文本。...更多高级用法可以参考 Playwright 的官方文档:https://playwright.dev/docs/ 4、 多页面跳转 这个 Demo 展示了如何在多个页面之间进行导航,比如在登录后跳转到另一个页面

    63920

    RavenDB起步--使用 RavenDB Studio

    那么在这篇文章我将带领大家来具体的学习 如何在 RavenDB Studio 实现增删改查。...一、增加 当需要手动向 RavenDB 库增加一条数据,我们可以在 RavenDB Studio 手动添加。...虽然说 RavenDB Studio 在增加一个新文档,会基于现有文档来生成,但是因为在 RavenDB 没有类似于 schema 的东西,所以我们可以随意增加和删除属性来修改文档结构,这个功能使数据模型在演变和处理复杂数据的时候更加容易...将下面的代码输入进编辑器内,并单击 Test 按钮,输入 Document ID (例如:categories/4-A)并再次单击 Test 按钮,就可以看到执行后的结果,如果对结果符合预期就点击三角符号按钮去实际执行...四、查询 在左侧菜单,点击 Indexes ,然后转到 Query ,在查询框输入下面的查询语句,然后单击查询按钮: from Companies where Address.Country = '

    75520

    JavaScript(十二)

    事件流 ---- 最早的两大浏览器厂商(IE 及 Netscape)在如何在看待浏览器事件方面还是一致的。比如说,如果你单击了某个按钮,他们都认为单击事件不仅仅发生在按钮上。...换句话说,在单击按钮的同时,你也单击了按钮的容器元素,甚至也单击了整个页面。 事件流描述的是从页面接收事件的顺序。...IE 的事件流是 事件冒泡流 Netscape 的事件流是 事件捕获流 事件冒泡 IE 的事件流叫做事件冒泡(event bubbling),即事件开始由最具体的元素(文档嵌套层次最深的那个节点)接收...,要在按钮被单击执行一些 JavaScript,可以像下面这样编写代码: <input type="button" value="Click Me" onclick="alert('Clicked...)<em>时</em>触发 文本事件,当在<em>文档</em><em>中</em><em>输入</em>文本<em>时</em>触发 键盘事件,当用户通过键盘在页面上执行操作<em>时</em>触发 UI 事件 UI 事件指的是那些不一定与用户操作有关的事件。

    2.9K20

    Chrome设置断点的各种姿势

    JavaScript代码设置断点 刚工作被leader安利了Chrome浏览器,那时一说到调试,就知道这一个操作 以为在行号上单击一下就是打断点,就是会调试了:) 当然这也是最最基本的打断点的方式了...在JavaScript代码设置条件断点 当知道了如何在行号上单击来添加断点,已经能满足最最最基本的调试了。 但如果遇到一些特殊情况,断点添加起来不是那么的舒服的时候要肿么办呢?...删除或禁用JavaScript断点 删除断点的方式,选择菜单栏的Remove breakpoint。...禁用断点的方式,选择菜单栏的Disable breakpoint 或者直接在设置了断点的行号上单击即可。 或者我们也可以通过debugger模块来统一管理所有的断点。...点击➕新增一个断点,我们可以选择输入一个链接地址,当一个XHR请求的链接与所输入的值匹配,便会中断进程进入断点。 ? 或者我们可以选择直接回车,监听所有的XHR请求 ?

    15.1K80

    金格插件WebOffice2015使用体会

    --引导和退出iWebOffice--> 2.5 修改程序中一些在iWebOffice2015不支持的事件, iWebOffice2003&iWebOffice2009的OnMenuClick()事件需要更换成...iWebOffice2015OnCommand()事件: iWebOffice2003的代码如下 <script language="<em>javascript</em>" for=WebOffice event=...+ "\r\r单击“确定”关闭。...所谓的在线编辑保存就是从服务器先获得你需要修改的文档也就是文档模板,之后将模板加载出来,这个时候WebOffice会将文档存放在一个叫做down的目录(win+r 输入 %appdata% 看到一个)...,this.fileContentStream.close();将流关闭掉了,后期引入demo的时候,虽然数据库是存入了文本,但是保存目标文件的时候,目标文件因为刘关闭,获取不到文本,所以出现保存空文本

    6.8K30

    在本地安装 Matomo

    本页说明如何在您的网络服务器上安装 Matomo 并开始跟踪您的站点网络分析。...如果您的服务器使用不同的端口,您可以在主机名后输入它,例如localhost:3307) 填写表格后,单击下一步 » Matomo 会将必要的表添加到您的数据库单击下一步 » 超级用户 超级用户是您在安装...填写信息并单击下一步 » 建立您的第一个网站 输入您要跟踪的第一个网站的名称和 URL。安装完成后,您可以添加更多网站。...单击下一步 » 安装 JavaScript 跟踪标签 Matomo 会发给你一个 JavaScript 标签。此代码必须出现在您希望 Matomo 分析的每个页面上。...单击顶部菜单的“管理”,然后单击“用户”以管理用户和权限。 完成 Matomo 配置后,您可以对“matomo/config/”文件夹设置更严格的权限(即只读)。

    2.8K20

    前端|窗口(window)对象介绍

    图2.1.3 关闭窗口运行效果图 在这里我们创建了一个超级链接,然后给超级链接添加了一个事件:单机超级链接,会调用函数shutwin。...而在此函数我们使用了window对象的close方法,最终达到关闭窗口的效果。...当用户单击‘确定’按钮,返回true值;当用户单击‘取消’按钮,返回false值。 prompt() 弹出一个包含‘确定’按钮、‘取消’按钮和文本框的对话框。用户可以在此对话框输入一些数据。...当用户单击‘确定’按钮,文本框的内容;当用户单击‘取消’按钮,返回null值。当指定,文本框会有默认值 接下来我们就来用一用这三个对话框吧。 示例:对话框的使用: <!...图2.2.2 输入对话框效果图1 ? 图2.2.3 输入对话框效果图2 ? 图2.2.4 选择对话框效果图 ? 图2.2.5 选择对话框单击确认效果图 ?

    1.8K20

    JavaScript的三种弹出框

    alert()可以填写数字,填写文本和字符的时候需要加引号,alert(‘请确认周围环境安全’),该消息框提供了一个“确定”按钮让用户关闭该消息框,并且该消息框是模式对话框,也就是说,用户必须先关闭该消息框然后才能继续进行操作...代码: 亦枫 //JavaScript脚本标注 alert("上联:山石岩下古木枯...使用确认消息框可向用户问一个“是-或-否”问题,并且用户可以选择单击“确定”按钮或者单击“取消”按钮。confirm 方法的返回值为 true 或 false。...该消息框也是模式对话框:用户必须在响应该对话框(单击一个按钮)将其关闭后,才能进行下一步操作。...,"请在这里输入年龄"); /*在页面上再一次弹出提示对话框, 讲用户输入的信息赋给变量age*/ alert(age)//输出用户输入的信息 效果:

    4.9K00

    业界 | 谷歌开源DeepLearn.js:可实现硬件加速的机器学习JavaScript

    文档,我们使用 TypeScript 代码示例。对于 vanilla JavaScript,你可能需要移除 TypeScript 语法, const、let 或其他类型定义。 ?...这些着色器从 NDArray 上的 WebGLTexture 读取和写入。当连接数学运算,纹理可以停留在 GPU 内存(不必下载至运算之间的 CPU),这对性能来说非常关键。...math.scope() 当我们进行数学运算,我们需要像如上所示的案例那样将它们封装到 math.scope() 函数的闭包。...NDArrayMathCPU 当我们使用 CPU 实现模型,这些数学运算是封闭的并且可以通过 vanilla JavaScript 在底层 TypedArray 上立即执行。...deeplearn.js 在训练 FeedEntry 通过使用 InputerProvider 模拟批处理来提供输入向量,而不是直接使用 NDArray。

    1K80
    领券