Javascript Hammer.js TypeError:元素为null,使用内部$(文档)。就绪:
我试图解决这个问题:在这样一个街区内使用Javascript Hammer.js TypeError:元素为null,使用内部$(文档)。就绪:,javascript,jquery,hammer.js,Javascript,Jquery,Hammer.js,我试图解决这个问题:在这样一个街区内使用 $(document).ready(function() { ... } ) 用于初始化Hammer.js的函数,如下所示: var area = document.querySelector('#keyboard'); var hammertime = new Hammer(area); hammertime.on("pan", { /* options */ }, function(eventu) { co
$(document).ready(function() { ... } )
用于初始化Hammer.js的函数,如下所示:
var area = document.querySelector('#keyboard');
var hammertime = new Hammer(area);
hammertime.on("pan", { /* options */ }, function(eventu) {
console.log("pan");
});
hammertime.on("tap", { /* options */ }, function(eventu) {
console.log("tap!");
});
刚调用时,将生成:
TypeError:元素为空
它在hammer.js代码中链接到此函数:
- element.addEventListener(type, handler,
> false);
你应该如何正确地称呼它?我真的陷入了困境,jQuery ready似乎不是正确的方式。。。我还尝试在块中移动代码,如:
window.addEventListener('load', function() {
//here thecode above
}, false);
但我也犯了同样的错误
[编辑]在他们用来处理DIVs元素的所有Hammer.js示例中,我尝试在li(st)元素上执行此操作,这是否与我的问题有关
即:
或(同样的问题):
有什么想法吗?谢谢:-)
在原生JS中,不需要分别将#
或
添加到ID或类中。只是名字
我想如果你删除了#,元素就会被找到。我不知道你是否已经解决了,反正我今天也遇到了同样的问题,并发现了接下来的问题。 看起来,除了Hammer.js网站上的声明之外,在使用默认语句创建新的Hammer实例时:
var hammertime = new Hammer(area)
它没有默认的输入事件识别器。
因此,您可以尝试通过以下方式添加所需的内容:
var hammertime = new Hammer.Manager(area, {
recognizers: [
[Hammer.Pan, {enable: true}],
[Hammer.Tap, {enable: true}]
]
});
这对我来说已经解决了您可以在Hammer.js网站上找到更多选项和详细信息,特别是:
谢谢,我试过了,但没有成功,而且在官方文件中()他们说要放。和#用于引用CSS选择器。我为问题添加了一些细节,再次感谢!
var area = document.querySelector('#first');
var area = document.querySelector('#keyboard');
var hammertime = new Hammer(area)
var hammertime = new Hammer.Manager(area, {
recognizers: [
[Hammer.Pan, {enable: true}],
[Hammer.Tap, {enable: true}]
]
});