问题标签 [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.
ember.js - EmberJS / TextField / focusOut / type number / invalidate / clear
我有一个名为 bootstrapText 的自定义视图,如下所示:
我以这种方式从模板中使用:
你看,类型是“数字”。我的观察:当类型设置为“数字”时,Ember TextField 的行为是......:如果我输入不可解析的字符串(例如:xyz),它根本不会将输入的值分配给绑定变量(numberOfItems)。因此,numberOfItems 保持未定义。
问题是:Ember.TextField 在这种情况下不会清除该字段。因此,该字段一直显示“xyz”。
我希望它自动清除,这就是我实现 focusOut 方法的原因......我将值设置为 0。但这不是我真正想要的;0 与未定义不同。我想使用“未定义”作为“用户没有输入任何有效的东西”。0 是有效输入。
我试过: this.set('value', undefined); ...但当然它对显示没有影响(没有检测到变化;未定义->未定义)。
我也试过: this.set('value', 0); 其次是 this.set('value', undefined); .... 没运气。
您知道解决方案/正确的技术吗?
谢谢,拉卡
javascript - 如何防止我的小数在 Jquery 中被擦除?
所以我正在处理一个表单和一个字段,我应该在小数点分隔符后允许 5 个小数。但是,我还必须在 .focus() 和 . blur() 事件,它可以工作。但是,当我单击 elsewere 以在我的输入字段中按我想要的格式设置我的值时,从我的 5 位小数中删除了我的最后 2 位。例如:我输入 78676,56569,重新返回 78.676,565 如何更改代码以使其不删除我的最后 2 位小数?这是我所拥有的:
这是 Jsfiddle:http: //jsfiddle.net/Daria90/zuxu5tva/
请注意,我的小数分隔符是在 DE 系统上设置的,所以在英文键盘上它可能是一个句点,keyCode 是 46。我的是 44。
javascript - 为什么我的 jQuery focusout(或模糊)事件没有被触发?
在 jsfiddle 的底部,我有这个 HTML:
..还有这个jQuery:
它在 jsfiddle 中运行良好,但事件没有在我的 Sharepoint 页面中触发 - 我在 boxPaymentAmount(“5”)中输入一个值,在 boxSection5Total(“6”)中输入另一个值,从 boxSection5Total 中跳出,我没有看到任何警报,我应该基于这个 jQuery,它实际上与 jsfiddle 中的内容相同:
所以这个事件甚至没有被解雇——为什么不呢?
我在 Chrome 和 F12d 中运行该页面,在控制台中查找 err msgs,但没有找到。
更新
对于 A.(不是“The”)沃尔夫:
这就是我在代码隐藏中创建元素的方式:
我还在jsfiddle的HTML中将“textarea”更改为“text”。
更新 2
对于乔纳森(不是罗素)克劳:
我将 jQuery 更改为以下内容:
...并且仍然在此事件处理程序的控制台中看不到任何内容。
更新 3
我还有许多其他可以很好地触发的功能/处理程序;所以为什么这个没有是一个难题。也许如果我展示我所拥有的(省略了一些血腥的细节),它可能会揭示正在发生的事情(失败的功能是最后一个/在底部):
jquery - Jquery focusout 验证在 Chrome 浏览器中无法正常工作
我正在使用jquery focusout
事件。我火狐它的工作完美。问题是(在 chrome 中)当我单击文本框时,我无法在不提供任何输入的情况下选择另一个文本框。但它可以在Firefox中。
HTML
jQuery
firefox
在和中运行此代码时,我们可以看到差异chrome
。
如何让它在 chrome 中运行?
javascript - event.relatedTarget 在触摸屏上聚焦时为空
我想在 textarea 上使用 focusout,存储导致 focusout 的单击按钮的值,然后在经过一些处理后单击它。我的解决方案适用于除 iPhone 和 iPad 之外的所有设备。谁能解释为什么 event.relatedTarget 在触摸屏上为空?还是浏览器?还有什么好用的?
我已经尝试过 e.currentTarget 和 document.activeElement(返回整个 HTML 正文)以及围绕我对 e.currentTarget 的使用尝试 setTimeout。在 iPad 和 iPhone 上,我似乎无法获得焦点内点击按钮的 ID。
这是一个示例:
});
这是我的小提琴:
jquery - 带有 Focusout 解决方案的 jQuery 自动完成
当用户插入正确的值并转义输入字段时,我想自动填充输入字段。这方面的一个例子是https://www.redbus.in/ 我使用 url 字符串发送数据请求,然后接收结果。我想继续发送数据请求并接收结果,即使用户离开了这个领域?然后必须选择带有结果的列表的第一个值。比你帮忙!
我的代码是:
javascript - 检测失去焦点的最高浏览器兼容方法是什么
在 MDN 中,模糊事件的兼容性表非常有限: https ://developer.mozilla.org/en-US/docs/Web/Events/blur
类似于 focusout https://developer.mozilla.org/en-US/docs/Web/Events/focusout
应该为此使用 jQuery focusOut() 吗?我正在尝试将事件应用于带有其他表单元素的 React 组件内的输入。只是寻找最可靠的方法来做到这一点。
jquery - 仅在退出父元素后触发子事件
我在父 div 中有两个子输入。一旦用户退出父元素,我想触发一个事件,但不是当用户从一个孩子直接移动到另一个孩子时。在此示例中,我要求用户在单独的输入中输入日期和时间:
我尝试如下使用'.focusout'和'.blur'但没有成功 - 我的意思是当用户从“日期”到“时间”标签时触发事件,而不是等到用户标签“时间”之外" 并完全退出父 "dateTime" div。
我在 HTML 结构中的方法或使用 JQuery 有问题吗?