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

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

内容简介:工作?从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 .


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

查看所有标签

猜你喜欢:

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

未来简史

未来简史

[以色列] 尤瓦尔·赫拉利 / 林俊宏 / 中信出版集团 / 2017-2 / 68.00元

进入21世纪后,曾经长期威胁人类生存、发展的瘟疫、饥荒和战争已经被攻克,智人面临着新的待办议题:永生不老、幸福快乐和成为具有“神性”的人类。在解决这些新问题的过程中,科学技术的发展将颠覆我们很多当下认为无需佐证的“常识”,比如人文主义所推崇的自由意志将面临严峻挑战,机器将会代替人类做出更明智的选择。 更重要的,当以大数据、人工智能为代表的科学技术发展的日益成熟,人类将面临着从进化到智人以来z......一起来看看 《未来简史》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

随机密码生成器
随机密码生成器

多种字符组合密码

html转js在线工具
html转js在线工具

html转js在线工具