这是初始化快速点击的好方法吗?

时间:2015-02-10 13:40:25

标签: javascript jquery fastclick.js

我试图保持我的html干净,因此需要通过我的app.js文件中的库/插件来执行所有javascript / jquery逻辑。我正在使用FastClick库来省略300ms的tap延迟并以这种方式初始化它。

jQuery(document).ready(function ($) {
    'use strict';

    /* Load and initialize FastClick, ommits 300ms tap delay */
    $.getScript('lib/fastclick.js', function () {
        new FastClick(document.body);
    }); /* END FastClick */

}); /* END jQuery */

这是否具有语义意义,使用它会更有害,而不是在html页面中添加fastclick.js文件?

1 个答案:

答案 0 :(得分:1)

它具有语义意义并且从fastclick docs判断,它看起来并不有害。

  

在您的JavaScript包中加入fastclick.js或将其添加到您的HTML页面......

他们说将其作为连接文件或独立文件包含在内是安全的。您可以自由地包含FastClick源代码,但是您认为合适。

真的是他们的文档使FastClick的初始化变得复杂。 {JavaScript}开始执行时document.documentElement属性可用,并表示<html>元素。这可以用作FastClick的根元素,无需DOMContentLoaded或domready事件处理程序:

new FastClick(document.documentElement);

不需要事件处理程序。现在,您可以根据需要在页面加载时响应点击,并在解析完整的HTML文档之前。

编辑:@jungy在他的评论中提出了一个很好的观点:

  

...在下载库之前,您正在等待DOM准备就绪。

完整的代码示例:

jQuery.getScript("lib/fastclick.js", function() {
    new FastClick(document.documentElement);
});