jQuery忽略第二个条件[重复]
Posted
技术标签:
【中文标题】jQuery忽略第二个条件[重复]【英文标题】:jQuery ignoring second condition [duplicate] 【发布时间】:2018-08-13 07:03:29 【问题描述】:我编写了一个 jQuery 函数,我打算在某个元素具有焦点时检查何时按下 shift 键。
下面是我写的代码
$(document).keyup(function (e)
if (e.which === 9 && e.shiftKey)
if ($(".focus > a").focus)
alert("test");
);
但是,无论.focus >
a 是否具有焦点,按下 shift 键时警报似乎都会起作用。我在这里犯了错误还是这是一个错误?
【问题讨论】:
focus
是一种方法,因此,它不是用来检查元素是否获得焦点,而是在该元素获得焦点时绑定事件。
【参考方案1】:
if ($(".focus > a").focus
将检查$(".focus > a")
对象中是否有定义为focus
的属性。因为它的存在,所以你的条件永远为真。
所以改成:
if $(".focus > a").is(":focus") .....
Using jQuery to test if an input has focus
【讨论】:
您不应该回答重复的问题。并且由于您链接到该问题,您知道它是重复的。 @FedericoklezCulloca 不,我认为这个问题的真正意义是if
条件的设计方式,而链接的问题直接要求一种方法来检查它是否集中。 - 这就是为什么我没有标记为欺骗
检查this,尤其是“什么时候两个问题被认为是重复的?”部分。对我来说,这属于该部分的第二段。
This includes not only word-for-word duplicates, but also the same idea expressed in different words.
- 我的想法是可能还有另一个 if 检查像 if $( ".myClass).attr
或其他东西 - 在这种情况下,我在答案顶部的简短解释也将切中要害......我不知道谁的意见更适合这里...你觉得呢?
我认为,由于社区中没有其他人愿意将其标记为重复,因此我们可能已经很好了。祝你有美好的一天:)以上是关于jQuery忽略第二个条件[重复]的主要内容,如果未能解决你的问题,请参考以下文章
如果第一个通知在 swift 中被忽略,则安排第二个通知(或者如果通知被忽略,则完成任何操作)