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 .


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

查看所有标签

猜你喜欢:

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

C++沉思录

C++沉思录

Andrew Koenig、Barbara Moo / 黄晓春、孟岩(审校) / 人民邮电出版社 / 2002-11-01 / 50.00元

《C++ 沉思录》集中反映了C++的关键思想和编程技术,不仅告诉你如何编程,还告诉你为什么要这样编程。本书曾出现在众多的C++专家推荐书目中。 这将是C++程序员的必读之作。因为: 它包含了丰富的C++思想和技术,从详细的代码实例总结出程序设计的原则和方法。 不仅教你如何遵循规则,还教你如何思考C++编程。 既包括面向对象编程也包括泛型编程。 探究STL这一近年来C++最重要的新成果的内在思想。一起来看看 《C++沉思录》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

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

Markdown 在线编辑器