使用 Javascript 按下空格键时在文本区域输入上执行事件

2024-02-17

I'm trying to mimic the tags feature on Stack Overflow where when you click the space button on the text box, it adds a blue border to the previous text in the textbox and adds an X button besides it to remove it if wanted.

这是我正在尝试做的事情的图像示例:

.

这是我到目前为止所拥有的。如果有人可以帮助我,我将非常感激。

<input id="tags"> 

<script>

document.getElementById("tags").addEventListener('keydown', function (event) {
    if (event.keyCode === 32) {
       // what do I fill in here??
    }
});
</script>

看看 HTML 是什么样子的:

<div class="js-tag-editor tag-editor multi-line s-input" style="padding: 0px 9.1px; box-sizing: border-box; margin-top: 0px; margin-bottom: 0px; width: 100%;">
    <span><span class="s-tag rendered-element">javascript<a class="js-delete-tag s-tag--dismiss" title="Remove tag"><svg class="svg-icon iconClearSm pe-none" width="14" height="14" viewBox="0 0 14 14">
            <path d="M12 3.41L10.59 2 7 5.59 3.41 2 2 3.41 5.59 7 2 10.59 3.41 12 7 8.41 10.59 12 12 10.59 8.41 7z">
            </path>
          </svg></a></span>
      <span class="s-tag rendered-element">arrays<a class="js-delete-tag s-tag--dismiss" title="Remove tag"><svg class="svg-icon iconClearSm pe-none" width="14" height="14" viewBox="0 0 14 14">
            <path d="M12 3.41L10.59 2 7 5.59 3.41 2 2 3.41 5.59 7 2 10.59 3.41 12 7 8.41 10.59 12 12 10.59 8.41 7z">
            </path>
          </svg></a></span>
      <span class="s-tag rendered-element">javascript-events<a class="js-delete-tag s-tag--dismiss" title="Remove tag"><svg class="svg-icon iconClearSm pe-none" width="14" height="14" viewBox="0 0 14 14">
            <path d="M12 3.41L10.59 2 7 5.59 3.41 2 2 3.41 5.59 7 2 10.59 3.41 12 7 8.41 10.59 12 12 10.59 8.41 7z">
            </path>
          </svg></a></span>
      <span class="s-tag rendered-element">javascript-objects<a class="js-delete-tag s-tag--dismiss" title="Remove tag"><svg class="svg-icon iconClearSm pe-none" width="14" height="14" viewBox="0 0 14 14">
            <path d="M12 3.41L10.59 2 7 5.59 3.41 2 2 3.41 5.59 7 2 10.59 3.41 12 7 8.41 10.59 12 12 10.59 8.41 7z">
            </path>
          </svg></a></span>
    </span>
    <input type="text" autocomplete="off" tabindex="103" placeholder="" id="tageditor-replacing-tagnames--input" class="s-input js-tageditor-replacing" style="width: 19px;"><span></span>
  </div>

It's <span>s 后面跟着一个输入。在用户看来,输入实际上是整行,但事实并非如此——输入只是右侧可输入的部分。

要添加边框,请使用 CSS。要删除附加元素,请调用.remove()在上面。就像是:

const input = document.querySelector("input");
input.addEventListener('keydown', (event) => {
  if (event.keyCode === 32) {
    const span = input.insertAdjacentElement('beforebegin', document.createElement('span'));
    span.textContent = input.value;
    const x = span.appendChild(document.createElement('button'));
    x.textContent = 'x';
    x.onclick = () => span.remove();
    input.value = '';
  }
});
.tag-container {
  border: 1px solid black;
}
.tag-container span {
  background-color: lightblue;
  border: 1px solid blue;
  padding-left: 1em;
  margin-right: 1em;
}
.tag-container span button {
  margin-left: 1em;
}
.tag-container input:focus, .tag-container input {
  outline: none;
  border: 0;
}
<div class="tag-container">
  <input>
</div>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Javascript 按下空格键时在文本区域输入上执行事件 的相关文章

  • 在 Three.js 中绕点旋转对象的正确方法是什么?

    关于 Three js 的大多数教程 问题都建议使用 Three js 绕点旋转对象的方法是在要旋转的位置创建父对象 附加对象 然后移动子对象 然后 当父级旋转时 子级围绕该点旋转 例如 Make a pivot var pivot new
  • jQuery mobile 中的文本区域高度和宽度?

    我修复了 jQuery mobile 中文本区域元素的高度 并且在纵向中得到了完美的高度和宽度 但在横向中宽度没有放大 谁能帮我 提前致谢 HTML
  • 将 Javascript 对象的属性从 string 更改为 int

    我有一个对象数组 每个对象具有三个属性 年份 总计 人均 例子 0 Object per capita 125 8 total 1007 2 year 2009 这些属性是字符串 我想创建一个循环来遍历数组并将它们转换为 int 我尝试了以
  • Jquery 悬停卡

    我在用着http designwithpc com Plugins Hovercard http designwithpc com Plugins Hovercard 但我不知道如何在悬停卡上声明 var 每个工作描述都有自己的 ID 当悬
  • 如何使用 Playwright 使用选择器查找框架 (iframe)

    我有一个小问题 无法找到使用 Microsoft Playwright 框架的答案 根据您可以使用以下代码获取 iframe const frame page frame frame login 但是如何使用选择器来查找 iframe 并与
  • 想要动态处理与分页相关的页码显示:ReactJS

    我有一些分页逻辑工作得很好 唯一的问题是我只能让它显示并固定数量的页面可供选择 现在我已经把它放到了 5 页 但我希望它能够根据总记录动态更改 假设我有 100 条记录 每页限制为 10 条 将有 10 页 现在我只能让它以这种方式显示 第
  • 如何在React Native Android中获取响应头?

    您好 我想在获取 POST 请求后获取响应标头 我尝试调试看看里面有什么response with console log response 我可以从以下位置获取响应机构responseData但我不知道如何获取标题 我想同时获得标题和正文
  • 如何在网站上使用 svg 元素制作块的屏幕截图?

    我在网站上创建了一个构造函数 其本质是将所选元素及其颜色 svg中的元素 添加到访问者选择的背景和背景颜色 png中的背景 中 然后必须单击 保存 结果 按钮并仅执行工作区的屏幕截图 我写了这个脚本 但它需要屏幕截图 但只有背景 并忽略选定
  • 本地推送通知到在应用程序内运行 JS 代码的 Win8 Live Tile

    我正在尝试将更新发送到我的应用程序的磁贴 当应用程序运行时 这可以正常工作 例如 当用户单击按钮时 我可以轻松地将磁贴更新通知发送到磁贴 我无法解决的是当应用程序无法运行时如何更新磁贴 我找到的唯一选择是使用以下命令从远程 Web 服务器拉
  • 如何使用 Greasemonkey 监视静态 HTML 页面的更改?使用哈希?

    我希望我的 Greasemonkey 脚本仅在其访问的静态页面具有与以前完全相同的内容时运行 现在我可以设置一个包含该页面哈希的变量 我正在寻找一种动态散列页面的方法 以便我可以将我的散列与生成的散列进行比较 关于如何即时实现散列的任何想法
  • React autoFocus 将光标设置为输入值的开头

    我有一个受控输入 最初显示一个值 我已将该输入设置为自动聚焦 但当我希望它出现在末尾时 光标出现在输入的开头 我知道这可能是因为自动对焦是在值之前添加的 但我不能 100 确定 在输入字段末尾完成光标初始化的最佳方法是什么 var Test
  • 如何使用 Javascript 设置查询字符串

    有没有办法使用 javascript 设置查询字符串的值 我的页面有一个过滤器列表 单击该列表时 它将更改右侧的页内结果窗格 我正在尝试更新 url 的查询字符串值 因此如果用户离开页面 然后单击 后退 按钮 他们将返回到最后一个过滤器选择
  • 将 Firebase 云消息传递与 Windows 应用程序结合使用

    我在 Android 和 iOS 应用程序中使用 Firebase Cloud Messaging 但是我还有此应用程序的 Windows Mac OS 版本 我想保留相同的逻辑 我知道 Firebase Cloud Messaging 可
  • 如何始终将焦点保持在文本框中

    我创建了一个包含两个 div 的 HTML 页面 左侧的 div 页面的 90 是 ajax 结果的目标 右侧的 div 页面的 10 包含一个文本框 该页面的想法是在文本框中输入零件编号 通过条形码扫描仪 并显示与该零件编号匹配的绘图 显
  • 改变 JavaScript 中的顶部填充

    以下是我在 css 中设置顶部填充的方法 body font size font size px margin 0 padding 100px 0 20px 0 width 100 important 如何使用最简单的 javascript
  • 如何从浏览器向服务器发送“页面将关闭”消息?

    我想向每个 html 文档添加一个脚本 JavaScript 该脚本向服务器发送两条消息 页面确实打开了 页面将关闭 此消息包含页面打开的时间 打开消息应在文档加载时 或加载完成时 发送 这是简单的部分 The close message
  • 主页(网格)上的缩略图现在显得模糊。如何纠正?

    我不知道这看起来是否愚蠢 但从早上开始我就无法纠正这个突然出现在我的博客网站上的错误www candidopinions in http www candidopinions in 我有一个网格视图模板 其中博客文章中的特色图像作为调整大小
  • 有没有办法使用 ko.observableArray 作为地图?

    有没有办法使用ko observableArray http knockoutjs com documentation observableArrays html像地图 字典一样 例如 var arr ko observableArray
  • 在 iOS 7 Safari 中,如何区分通过边缘滑动与后退/前进按钮的 popstate 事件?

    在 iOS 7 Safari 中 现在有两种后退 前进导航方式 使用底部的传统后退 前进按钮箭头或从屏幕边缘滑动 我正在使用动画在 ajax 应用程序中的页面之间进行转换 但如果用户通过边缘滑动进行导航 我不想触发该转换 因为这本身就是一个
  • 没有输入的 jQuery 日期选择器

    我有一个相当复杂的网络应用程序 我想向其中添加一些日期选择 UI 我遇到的问题是我无法从文档中弄清楚如何真正控制日期选择器的出现方式和时间 不涉及任何表单元素 不 我不会添加秘密表单字段 因此简单的开箱即用方法根本行不通 我希望有人可以提供

随机推荐

  • 立场:React Native中的绝对问题

    我正在制作一个反应本机应用程序 其中有一个左侧和右侧部分 左侧部分包括flex 0 7右侧部分包括flex 0 2 在左侧部分内 我有一个容器 里面有一个ImageBackground https reactnative dev docs
  • MongoDB 查询 - 限制名称与模式匹配的字段

    我已经阅读了有关 MongoDB 中投影的所有内容 我希望这很简单 但由于 Mongo 查询的巨大灵活性 我错过了它 在我们的 MySql 数据库中 我们采用了一种业务实践 即为 隐藏 字段添加下划线前缀 我们的应用程序知道如何隐藏这些字段
  • PHP 中同时调用多个 API

    我正在处理一个场景搜索页面 http www idynbiz com web html carcrawler 该搜索页面必须同时对以下 5 个搜索引擎进行 API 调用 http www kijiji ca http www kijiji
  • C - RGB 值 - 计算模糊滤镜的 RGB 值的平均值

    前两个并不难 但第三个让我生气 模糊滤波器必须计算某些像素组的 RGB 值的平均值 以便替换中心像素的值 想象一个 3x3 的网格 其中中心的像素必须使用周围八个像素的平均值和中心像素本身的 RGB 值进行操作 到目前为止我所做的如下 Bl
  • 在 Magento 中根据 URL 参数加载对象

    我在为 Magento 商店创建自定义模块时遇到问题 我已成功添加路线 着陆 并创建 布局文件 在我的基本布局中显示模板内容 我现在需要稍微超越这一点 我希望能够从 URL 加载参数 根据该参数抓取一个对象 并根据对象的内容显示内容 示例
  • Magento - 从预调度观察者转发到不同的控制器操作

    是否可以根据我可以在控制器预调度事件中检查的特定条件转发到不同的操作 在同一控制器内 例如 要运行的操作是索引 如果我为预调度事件创建一个观察者 如果某个条件为真 我想运行不同的操作 myAction而不是indexAction 您可以在预
  • Angular JS 和部分

    是否可以在 Angular JS 中将 html 页面嵌入到另一个页面中 如果可以的话 该怎么办呢 Here http docs angularjs org tutorial step 08在他们的教程中 部分内容并未嵌入页面中 但它就像您
  • 使用 webview 中的 cookie 执行 HTTP 请求

    我有这样的场景 我的应用程序在 webView 中显示一个 2 页的登录过程 第一页仅询问您计划连接到哪个域 第二页要求提供凭据 我正在尝试在 webView 中执行登录 然后执行来自本机代码的请求 我意识到我需要从 webView 获取存
  • 左侧固定列与表 colspan

    我已经使用了这个 js 文件和以下方法 https code jquery com jquery 3 3 1 js https code jquery com jquery 3 3 1 js https cdn datatables net
  • UISplitViewController 的详细视图中缺少标题栏

    我有一个UISplitViewController嵌入到容器视图中 因为它不在我的应用程序的根目录中 其机制运行良好 除了一个问题 iPad 上缺少详细视图的导航栏 初始设置基本如下 在 IB 中 将分割视图控制器拖到情节提要上 这将创建分
  • 无法使用 AutoLayout 设置 UICollectionViewCell 的宽度

    我有一个带有动态高度单元格的集合视图 基于可能的多行标签和内部的文本视图 当我跨越多行时 它可以完美地适应高度 但是 当文本只有一个单词或者没有覆盖整个屏幕宽度时 单元格的宽度就与需要的一样宽 从而导致单元格彼此相邻而不是彼此下方 看看文本
  • SELECT 和 UPDATE 表,因此线程不会重叠

    假设我有下表 ID Read 1 true 2 false 3 false 4 false 我需要读取最小的 ID 其中 Read false 另外 更新一下我现在已经读过了 因此 如果我执行存储过程 dbo getMinID 它将返回 I
  • 使用反射调用泛型重载方法

    我需要使用反射调用重载方法 我的课程如下 public static Transformer Overloaded method with generics parameter First Transform Method public s
  • 在 C#/.Net 中创建/切换桌面

    我当前正在使用 CreateDesktop 本机 C 函数 并在我的 C 代码中调用它来创建桌面并在桌面之间切换 有没有办法使用 Process 类或任何 c Net 类来做到这一点 这是我现在在课堂上使用的用于桌面切换的示例代码 Flag
  • PHP AJAX登录,这种方式安全吗?

    我刚刚启动 PHP 和 MySQL 并创建了一个登录表单 一切正常 现在我想添加 ajax 我考虑的第一个方法是使用 jQuery post 方法 我对代码没问题 这里是我将要做什么的快速想法 function login post log
  • 当 debug 为 0 时,如何使用 CakePHP 记录 php 错误?

    我想在 debug 0 的 CakePHP 站点上记录 PHP 错误 但是 即使我打开错误日志 如下所示 error reporting E ALL E NOTICE E DEPRECATED log errors On 它不记录错误 问题
  • 加载属性文件时出现问题

    我在加载时遇到问题 test xml and test properties 在同一文件夹conf中 我在 dist 文件夹中有一个 myProject jar conf 文件夹内的 test xml 和 test properties 要
  • C 中的 strcat 两个无符号字符

    我目前正在尝试对两个无符号字符使用 strcat 但我不断收到警告 这是我对 strcat 的了解 unsigned char A 100 B 100 A 0 1 B 0 2 strcat A B 我试图将它们放在一起 以便我得到 A 作为
  • 向 NSString 添加省略号

    我有以下代码 我试图使用核心文本来绘制它 这就是为什么我不能像 UILabel 那样剪切文本 换句话说 我必须自己找出省略号 CGSize commentSize self sizeDictionary valueForKey commen
  • 使用 Javascript 按下空格键时在文本区域输入上执行事件

    I m trying to mimic the tags feature on Stack Overflow where when you click the space button on the text box it adds a b