javascript – 模糊事件未触发 – 无法找到处理隐藏模糊文本字段的变通方法

栏目: JavaScript · 发布时间: 5年前

内容简介:工作?从HTML的基本思路:
TL; DR如何让这个 self-explanatory JSFiddle

工作?

the W3C 开始:

The blur event occurs when an element loses focus either via the pointing device or by tabbing navigation. This event is valid for the following elements: LABEL, INPUT, SELECT, TEXTAREA, and BUTTON.

HTML的基本思路:

<form>
    <label>
        <input type="text" />
        <a href="#">after focusing in input, there should be no blur when clicking here</a>
    </label>
</form>
<a href="#">but blur should fire when clicking here</a>

和JS:

$("form, label").on("blur", function() {
    alert("you're not going to see this");
});

它不起作用.更具说明性的例子是在 this JSFiddle .

我也用 this JSFiddle 尝试了焦点,但是(大概是因为它从输入中冒出来),它总是会触发.

我可能用这样的黑客来装备我需要的东西: https://stackoverflow.com/a/5049387/458614 但我宁愿不必.

编辑:有很多相关问题,我已经阅读了所有我能找到的内容,但没有一个有用.有些人谈论在表单或标签元素上设置tabindex = 0.我已经尝试了各种排列,但它没有帮助. JSFiddle here .如果您将其放在表单上,​​当您在表单外单击时,模糊事件会触发.但是,它不适用于它的任何子项:如果单击输入然后单击表单外,它将不会拾取任何内容.

编辑2:我真的不明白到目前为止发布的一些答案,似乎没有真正……工作.无论如何,澄清一下,这是我想要完成的事情:

在我的应用中,您可以为文档添加标签.单击“添加标记”按钮时,会弹出一个先前隐藏的文本输入字段并进行聚焦.然后…

>单击外部(模糊)应再次关闭文本输入字段

>按Enter键应添加标签并关闭输入字段

>单击“添加标记”按钮还应添加标记并关闭输入字段

问题是#1和#3不兼容. “添加标记”按钮需要根据文本字段是打开还是关闭来执行不同的操作,但由于我只能在文本字段上使用onblur事件实现#1,因此文本字段在任何操作时都会关闭发生在#3的“添加标签”按钮上.

这是 JSFiddle with my best attempt so far .


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

数文明

数文明

涂子沛 / 中信出版集团 / 2018-9 / 88.00元

从量数、据数、普适记录、人脸识别、以图搜车,到雾计算、城市大脑、单粒度治理、无匿名社会、量子思维……作为中国研究大数据的权威专家,作者在《数文明》一书中,以大数据为核心元素,抽丝剥茧,深入地阐述了这个大数据时代的文明社会——一个全新的数文明时代。 将大数据与人类文明融合在一起,这本书提供给我们的不仅是一种全新的叙事结构,它还将突破你的认知边界和思维极限,给你提供一个应对这个世界的全新的认知方......一起来看看 《数文明》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器