问题标签 [focusout]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
jquery - jquery need alternative to focusout()
Given the sample markup:
How can one, via jQuery, determine that div
has lost focus?
I can use focusout()
but that's not quite what I need. With focusout, it will get triggered as one tabs from input to input, as it's actually detecting (via event bubbling) that the input is losing focus.
Another way to word the requirement: I need to know when focus has moved OUTSIDE of the div.
I asked a similar question before:
jquery focusin() and preventing bubbling
But that was related to a pop-up UI and one can get around that by inserting a blank DIV behind it and putting a click/focus event on that as a trigger but that's won't work for this situation.
The next thought I had was to test for focusin when calling focusout:
Alas, that doesn't work (I'm guessing due to the fact that it's evaluating focusin during the focusout event and, as such, it hasn't detected focusin yet.
Any clever solutions to this problem? Am I maybe missing a native jQuery event that does exactly what I'm looking for?
UPDATE:
Actually, the simplified question:
I need the equivalent of $('div').blur()
but that would actually work on a div (since blur can't be triggered from a div)
jquery - 设置 jQuery 焦点
问题
我正在尝试做一个效果,当用户鼠标悬停时会出现一个弹出窗口。然后将焦点设置在该弹出窗口上。当用户对所述弹出窗口进行聚焦时,它就会消失。
例子
您可以在下面查看一个工作示例,但您需要在用户名和密码字段中以“testuser”身份登录。登录后将鼠标悬停在登录框上,将出现一个弹出窗口,告诉您您已经登录。
一旦用户从中移除焦点,我希望该弹出窗口淡出,因为它包含一个注销按钮。
目前...
到目前为止我所拥有的:
显然,这是无效的,或者有些东西我没有正确掌握。我对 jQuery 很陌生,所以启蒙会很棒!
[编辑]如果你有更好的方法来做这件事,顺便说一句,我全神贯注!
javascript - 单击在不同输入上启动焦点事件的 DOM 问题
- 我有一个
<input type=text>
withfocusout
事件处理程序 - 我有一个
<button>
点击事件处理程序
Focusout检查输入框中的格式是否正确。它通过针对正则表达式测试输入值来做到这一点。如果失败,它会显示一条消息(div
一段时间后淡入和淡出)并通过调用重新调整我的输入
因为我无法重新关注focusout
事件处理程序。focusout
活动也不能取消。仅供参考。
Click从输入元素收集数据并使用 Ajax 发送数据。
问题
当用户TABs通过表单时,一切都很好。当某个输入框格式化检查失败时,它会在用户按下后立即重新聚焦TAB。
但是,当用户不使用TAB而是单击每个单独的输入字段时,一切正常,直到他们单击button
. focusout
触发并设置重新聚焦超时。由于超时是如此之短,所以随后会发生焦点事件,然后click
触发事件并发出 Ajax 请求。
问题
我已经将我的格式检查实现为一个独立的 jQuery 插件,我想保持这种方式。它用于.live()
附加focusout
所有具有特定属性的输入字段,其中定义了格式正则表达式。
数据提交也是通用的,我不想让它依赖于格式化插件。他们都应该保持独立。
如何在不使这两个插件依赖的情况下防止单击事件执行?
我正在摆弄的示例代码
经过一番搜索,我发现所有主要的浏览器都支持document.activeElement
,但我无法让它在 Chrome 中运行。FF 和 IE 都报告this
是活动元素,但 Chrome 总是说它BODY
是活动的,即使在元素click
上触发也是如此。button
检查此代码http://jsfiddle.net/Anp4b/1/并单击按钮。使用 Chrome 和其他浏览器进行测试,看看有什么不同。
jquery - 在 JQuery 中失去焦点时隐藏 ul
我试图在失去焦点时隐藏子菜单项(ul)。我的结构看起来像这样
在 JQuery 中,我使用了 focusout事件来处理失去的焦点。
但是上面的代码不起作用。任何人都可以推荐一种处理ul中丢失焦点事件的方法。
javascript - jquery focusout event missing relatedTarget information
i have a text input that is bound to focusin
/focusout
events.
on focusout
, i'm interested in the relatedTarget
information, i.e., the DOM element receiving focus as the text input loses focus, however this property is undefined
for the event.
on the other hand, toElement
, which i believe is the internet explorer equivalient of relatedTarget
, is available. in other words, my focusout
handler works fine in IE, but not in other browsers.
is there a workaround for the above limitation?
javascript - jQuery:火狐焦点事件
我在一个 div 中有两个输入框,我想将该 div 隐藏在输入的 focusOut 上,但前提是它们都没有焦点。
这是一个常见的 Firefox 问题(有人称其为遵守标准),但文档正文窃取了两者之间的焦点。
HTML
jQuery
虽然这是一个常见的错误,但我忘记了我过去是如何解决的。我认为这与在检查activeElement
.
jsFiddle 示例
jsFiddle 更新(FF4 相同问题)
jquery - 表单输入焦点输入/输出
我有一些登录表单,如果将其电子邮件设置为记住,它将预先填写在电子邮件输入中。我希望,如果单击电子邮件输入,内容(实际电子邮件)会淡出,但如果他单击,电子邮件会再次显示。但我只是设法让电子邮件淡出,我不知道如何恢复旧的专注值。编码:
任何想法应该是什么应该是焦点,以便旧的记忆值(电子邮件)出现在那里?
谢谢!
jquery - jquery的事件顺序
我有以下情况:
您可以在其中键入关键字的文本框。keyup 事件触发一个 AJAX 脚本,该脚本在数据库中查找相似的关键字。找到后,将显示show()
带有找到的关键字的 DIV ( )。
单击 div 中的关键字之一时,所选关键字将写入文本框中,并且 div 将被隐藏 ( hide()
)。
但是,当 DIV 可见并且我单击表单中的其他位置或从文本框(聚焦事件)中跳出时,我希望隐藏 DIV。
这可以通过 focusout 事件来完成。但是,当我使用 click 事件注册对 DIV 中的关键字的点击并使用 focusout 事件注册 focusout 事件时,会出现以下问题:单击 div 中的关键字时,将触发 focusout 事件,因此我的 DIV 将是隐藏,但关键字不会被复制到文本框中。
我目前有以下代码:
解释:
javascript - 如何确定焦点何时离开 HTML 表单(即表单的子级不再有焦点)?
例如,我有一个带有 textarea 的 HTML 表单元素和两个按钮作为子元素。我如何检测焦点何时从这三个元素之一转移到这三个元素之一之外的元素。换句话说,我如何检测焦点何时离开表单,以便我可以自动关闭它?
我想我可以使用表单上的 focusout 事件来确定焦点何时不再属于其子元素之一,但是从 focusout 事件似乎无法访问获得焦点的对象,所以我没有办法例如,检查焦点是否只是从文本区域到按钮之一。
relatedObject、fromElement 和 toElement 属性都是未定义的。
apache-flex - 防止 focusOut 实际改变焦点的警报
这是一个功能示例:
当您从 txtOne 更改为 txtTwo 时,会显示警报,按 OK 后,焦点将返回到 txtOne。我不希望这种情况发生。如何解决这个问题?