javascript - 触摸事件jQuery函数详解

标签 javascript jquery mobile if-statement touch

我根据我不久前在 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/

相关文章:

jquery - 当我创建 jQuery 插件时,最好在需要时包含 Modernizr 吗?

ajax - 网络面板在 weinre 中无法工作

javascript - Service Worker 不更新

php - 具有多个句柄的 Jquery UI slider

jquery - 拖放和追加未正确定位 div 元素

angularjs - 如何保护 ASP.NET Core Web API 免受被盗 JWT token 的模拟攻击

javascript - InDesign Server - 更新文本框架内容导致内容丢失或多余

javascript - 使用 JavaScript 替换字符串中的 # 和\s

javascript - 在 Yesod 项目中的哪里包含静态 javascript?

javascript - jQuery.data 会导致内存泄漏吗?