我有一个小问题,下面的代码,它会抛出一个错误,说无法找到变量startPos
和refresh
。Var无法找到
var listElem = document.getElementById('list');
listElem.addEventListener('touchstart', function(e) {
var startPos = $("#content").scrollTop(),
eraInput = document.getElementById('input'),
refresh = false;
});
listElem.addEventListener('touchend', function(e) {
if (refresh) {
if (!$("#input").is(":focus")) {
$("#input").val("");
}
// Stuff...
}
});
listElem.addEventListener('touchmove', function(e) {
var move_to = startPos-(e.touches[0].clientY-e.changedTouches[0].screenY);
if (move_to > 50) {
refresh = true;
} else {
refresh = false;
}
});
你真的需要阅读JavaScript中的“范围”。体面的文章:http://coding.smashingmagazine.com/2009/08/01/what-you-need-to-know-about-javascript-scope/ – Joe
通过定义这两个变量来启动你的代码,这样他们将会当下。 – keune
你永远不会初始化刷新变量。 –