我试图保持我的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文件?
答案 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);
});