【发布时间】:2017-02-02 23:00:15
【问题描述】:
我正在使用 Hammer.js 库 (http://hammerjs.github.io/) 在 vanilla javascript 环境中启用触摸手势。包括图书馆后,我的画廊页面上有一个电话。如果在页面上找不到 id 幻灯片,则调用失败。生成的 TypeError 还会阻止执行该站点的其他 js。我对此真的很陌生,但是通过阅读我认为我需要将此代码包装在测试中,这样如果 id slide 不存在,它就不会运行。知道如何执行此操作将帮助我解决其他 id 和库的其他问题。
所以在 Hammer.js 代码之后我有自己的代码:
var slide = document.getElementById('slide');
var mc = new Hammer(slide);
mc.on("swipeleft", function(ev) {
var url = document.querySelector('a.next').getAttribute('href');
if (url) {
window.location = url;
}
});
mc.on("swiperight", function(ev) {
var url = document.querySelector('a.prev').getAttribute('href');
if (url) {
window.location = url;
}
});
如果页面不包含 id 幻灯片,我如何防止执行此代码? (当我说它不包含它时,我的意思是它不会在那个页面上存在,并不是说 DOM 还没有准备好。)
谢谢。
【问题讨论】:
标签: javascript hammer.js