当前位置: 首页 > 知识库问答 >
问题:

vanilla javascript中的ng touch等价物

薄瑞
2023-03-14

当按要求指定初始表单字段时,我将它们设置为红色,而css是

 input:invalid
{
  box-shadow: 0 0 5px 1px red;
}

我只想在vanilla JavaScript中触及它们时突出显示它们。

共有2个答案

施选
2023-03-14

您应该先听输入的焦点事件,然后再听模糊事件。在模糊事件之后,您应该将“touch”这样的类应用于输入,您必须将其用作CSS中的选择器。

null

var inputs = document.getElementsByTagName("input");

function blurred(event) {
    event.target.classList.add("touched");
  event.target.removeEventListener("blur", blurred);
}

function focused(event) {
  event.target.removeEventListener("focus", focused);
  event.target.addEventListener("blur", blurred);
}

function registerTouch(input) {
    input.addEventListener("focus", focused);
}

for (const input of inputs) {
    registerTouch(input);
}
css prettyprint-override">input.touched:invalid
{
  box-shadow: 0 0 5px 1px red;
}
<form id="registration-form">
  <input type="text" id="name" required>
  <button type="submit">Submit</button>
</form>
宋晋
2023-03-14

我不确定您是否可以直接使用JS编辑伪元素CSS规则,而不使用insertrule/addrule触摸样式表,但我可能会在Blur上切换类名。

演示

/* css */
input:invalid {
   box-shadow: none;
}
input.blurred:invalid {
   box-shadow: 0 0 5px 1px red;
}
// js
const inputs = document.querySelectorAll('input')

for(let input of inputs){
    input.addEventListener('focus', ()=>{
        input.classList.remove('blurred')
    })
    input.addEventListener('blur', ()=>{
        input.classList.add('blurred')
    })
}
 类似资料:
  • 我是WPF技术的新手。我已经在WinForms开发了大约6年。 现在我想通过学习WPF来提高我的技能一大步。我正在阅读MSDN中的介绍指南,同时作为个人练习,我试图将WinForms UI的sructure转换为其WPF UI的等价物。 这是我想在WPF中重现的WinForms控件结构的简单模型: 我的问题:有人可以指导我或给我一个简短的例子,我如何可以添加一个下拉按钮的东西在工具栏?。

  • 等价 cljs 的数据结构是在 js 基础之上实现的. 数值类型的数据可以直接判断. 一般通过 (= a b) 判断 a 和 b 的内容是否一致. Collection 类型数据除了 = 函数之外, 还可以使用 identical? 函数判断两个数据的引用是否一致. (identical? {} {}) ; true (identical? {:a 1} {:a 1}) ; false (= {:

  • 我尝试使用以下R语句,并使用NumPy将其转换为Python: 有与which()等价的Python吗?这里,x是矩阵tmp中的行,k对应于另一个矩阵中的列数。 之前,我尝试了以下Python代码,并收到一个值错误(操作数无法与形状一起广播):

  • 在Gatling scala中是否有与以下代码相当的java代码?特别是wsAwait类: 这来自使用依赖关系gatling-http-2.3.1的scala项目示例。我和jar在io包中看到了。加特林。http。检查async特性AsyncCheckSupport扩展了AsyncCheckDSL。但这并没有包含在gatling-http-3.7.3中。jar在我的java测试项目中使用。 在最新

  • 我无法设置任何内容:或其他内容,包括和。是否可以从主机访问名称和?似乎无法设置中的变量...请帮我确定我遗漏了什么,提前谢谢

  • 我已经习惯了。NET和LINQtoEntities,尤其是IQueryable部分,它允许在获取结果之前通过不同的函数传递请求。 spring数据中是否存在类似的内容?或者其他java ORM?