我根据我不久前在 SO 上发现的内容编写了一个非常适合移动设备的函数。
jQuery(document).on('touchstart', function(event) {
if ( !jQuery(event.target).closest("#peopleMenu").length) {
jQuery("#peopleMenu").fadeOut();
}
});
我发现的部分是在“if”语句中,我花了一点时间才理解。
这意味着如果目标触摸事件位于 #peopleMenu 上,它将保持打开状态,如果触发则关闭。 if 语句归结为:
if (!1) {
//false - understand this.
}
if (!0) {
//true - hmmm.
}
我的问题基本上是这是一个常见的编程范例,一个奇怪的 js 功能,还是只是比它需要的更棘手?谢谢。
最佳答案
这在许多语言中都很常见。 JavaScript 中的所有内容都有一个固有的 bool 值,通常称为 true 或 false。(例如 0 或空字符串)。所以在这种情况下,如果长度返回为 0,则 if 语句为 false。如果您想了解更多信息,这里有一篇关于该主题的精彩文章,因为它与 Javascript 相关:Truthy/Falsy
关于javascript - 触摸事件jQuery函数详解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21863571/