jQuery函数的纯JS版本
Plain JS version for the jQuery function
我有以下jQuery代码(我已经更改了div和函数的名称,不会有太大区别)
$(function(){
$('#div1').bind('touchend',function(){
function1();
function2();
});
});
$(function(){
$('#div2').bind('touchend',function(){
function1();
function3();
});
});
这是它的普通JS版本,不起作用。
document.getElementById('div1').addEventListener('touchend',function(){
function1();
function2();
},false);
document.getElementById('div2').addEventListener('touchend',function(){
function1();
function3();
},false);
如果有人能先解释一下jQuery版本的含义是什么,然后指出我在普通js版本中犯了什么错误,我将不胜感激!
[如果你想知道我为什么要这样做,我需要从我正在构建的 phonegap 应用程序中删除 jQuery,以便页面加载速度更快:-)]
您的代码应该可以在任何支持触摸事件的浏览器/DOM 中工作。我在这里唯一能弄清楚的是,您错过了要调用DOMContentLoaded
事件,因此尝试获取/查询尚未准备好的元素。
所以你应该把你的代码包装成
document.addEventListener('DOMContentLoaded', function () {
}, false);
当您调用 $(function() {});
时,jQuery 会自动为您执行此操作。如果你将一个函数传递到$()
它是$(document).ready(fnc)
<</p>
代码完全按照您的操作,只是将处理程序分开,我认为您遇到的唯一麻烦是缺乏使用
document.addEventListener('DOMContentLoaded', function () {
这意味着dom还没有准备好,getElementById找不到任何东西。
好吧,我在这里阅读了其他几篇文章,而这篇文章几乎做到了。
document.addEventListener('DOMContentLoaded', function () {
var div1 = document.getElementById('div1');
var div2 = document.getElementById('div2');
// event handler
var handler = function (event) {
function1();
function2();
};
var handler2 = function(event) {
function1();
function3();
};
// Bind the events
div1.addEventListener('touchend', handler, false);
div2.addEventListener('touchend',handler2,false);
}, false);
但是,如果有人可以向我解释什么是流程以及代码如何工作,那么我的一天就完成了:-)
相关文章:
- 我应该担心HTML5Shiv.min.js 3.7.2版本上的这些JSLint警告吗?
- jquery.min.js版本冲突在asp.net网站中不起作用
- 如何检查加载的 Ember.js 版本
- 在 Facebook Feed Dialog(js 版本)中使用来自外部 js 脚本的 javascript var
- 节点.js版本已更改,脚本不再工作
- 什么是Jquery的$.getJSON的vanilla JS版本
- jQuery函数的纯JS版本
- 如何在Impact.js版本的Box2D中过滤冲突
- swfoject.js 1.5版本存在一些问题
- 更新Three.js版本时未显示纹理
- 我如何知道我的项目的最低node.js版本
- jhipster:npm抱怨node.js版本
- js-bson:无法加载c++bson扩展,使用纯js版本(Openshift-nodejs)
- Ember js版本依赖
- Node.js版本冲突
- Ruby的JS版本'带索引的每个
- 试图实现d3.js版本4作为一个聚合物组件
- 有任何js版本的css媒体查询?-用例场景
- Ext JS -版本变量增量
- 刷刷滞后.过滤多次,不像dc.js版本1.3