我正在开发这个小网站:网站;我正在使用 HammerJS 作为触摸支持库。
它似乎正在响应事件,并且它识别该event.type
属性,但是当我尝试获取事件的event.direction
或其他相关属性时drag
,控制台中没有任何输出(我正在控制台中记录结果)。
这就是我监听drag
事件的方式“
Application.ApplicationController.prototype.Drag = function(selector, delay, callback) {
return $(selector).on('drag', _.debounce(function(event){
event.preventDefault();
return (typeof callback === 'function' && callback !== undefined) ? callback.apply( event, [ event ] ) : 'Argument : Invalid [ Function Required ]';
}, delay));
};
我称之为:
this.Drag(selector, delay, function(event) {
console.log(event.type, event.direction);
});
有人可以告诉我我在那里做错了什么或者我错过了什么吗?
编辑:我刚刚替换了 jQuery 库:jquery.specialevents.hammer.js;使用旧的jquery.hammer.js;现在似乎它正在响应所有事件并且我得到了我应该得到的所有属性。我仍然想知道为什么我尝试使用的那个不工作?
编辑:我找到了问题的根本原因,我的代码依赖于一些库,我正在使用 Yepnope 脚本加载器异步加载这些库,所以在某个地方而不是加载所有库(包括hammer.js 的 jquery 插件) ),其中一些丢失了 :) 我已经解决了这个问题,现在这些事件具有它们应该具有的属性。