首页
学习
活动
专区
工具
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.9K20

如何移除或禁用 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.6K10
  • 网页制作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.3K20

    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 展示了如何在多个页面之间进行导航,比如在登录后跳转到另一个页面

    72020

    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 = '

    77420

    JavaScript(十二)

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

    2.9K20

    Chrome设置断点的各种姿势

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

    16.1K80

    前端架构师之11_JavaScript事件

    用户单击button按钮,这个行为就会被JavaScript中的click事件侦测到;然后让其自动执行,为click事件编写的程序代码,如在控制台输出“按钮被单击”。... 标签名可以是任意的HTML标签,如 标签、 标签等; 事件是由on和事件名称组成的一个HTML属性,如单击事件对应的属性名为onclick...; 事件的处理程序指的是JavaScript代码,如匿名函数等。...load事件:用于body内所有标签都加载完成后才触发,又因其无需考虑页面加载顺序的问题,常常在开发具体功能时添加。 unload事件:用于页面关闭时触发,经常用于清除引用避免内存泄漏时使用。...例如,文本框获取焦点改变文本框的样式,文本框失去焦点时验证文本框内输入的数据等。

    7310

    HTML标记之a标签

    二、链接的种类    1.内部链接(当前文档与目标文档在同一站点内)文档位置及全称”>;    2.外部链接(当前文档与目标文档不在同一站点内)链接锚点,显示内容;    5.空链接,就是没有目标端点的链接,显示内容;    6.脚本链接:是一种特殊的链接,当单击设置脚本链接的文本或图像时...三、常用的脚本链接   关闭窗口:输入javascript:window.close();     javascript:window.close();">关闭窗口   打开窗口...:输入javascript:window.open(‘文件名或URL’);     javascript:window.open(‘文件名或URL’);">打开窗口  四...②.添加收藏:javascript:window.external.addfavorite(‘目标网址’,’收藏名’)”>添加到收藏夹。

    2.4K40

    金格插件WebOffice2015使用体会

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

    7K30

    在本地安装 Matomo

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

    2.9K20

    为什么 Netflix 部分功能放弃React,选择“原生”JavaScript?

    别急,这篇文章咱们就来聊聊Netflix这次操作背后的逻辑,看它如何在React和Vanilla JS之间找到平衡点,并从中挖掘出对开发者大有裨益的“真香”经验。...等页面加载完成后,Vanilla JavaScript则接管了交互逻辑。...✨ 3、JavaScript加载也讲究“分时分步”:让页面秒开不是梦! 很多开发者都遇到过这样的情况:页面加载时,所有的JavaScript代码都一股脑儿塞进去,结果页面卡半天,用户直接跑路。...记住这三点: 拆分代码:将JavaScript按功能模块分割,避免“一锅炖”。 懒加载非核心功能:比如某些高级交互,等用户操作时再动态加载。...在实际开发中,与其一股脑儿全站用React、Vue等框架,不如根据页面或功能模块的具体需求,量体裁衣,选择最合适的技术方案。

    10610

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

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

    1.8K20
    领券