我遇到了触摸移动问题'要使用回调函数中的参数值触发的事件。如果我通过"警报"我会成功但不是功能。示例中的基本概念是文本框上升为" 1" (obj.number)关于' touchmove'当它在所选div中滚动时(ID =" myDIV")。
以下是一个例子:
function myFunction(num) {
document.getElementById("divText").innerHTML = x += num;
}
function Scroller(area, obj) {
$divarea = document.getElementById(area);
$divarea.addEventListener("touchstart", function() {
obj.alertMe(obj.number); // THIS WORKS
});
$divarea.addEventListener("touchmove", function() {
obj.scrollMe(obj.number) // THIS DOES NOT WORK AND WHAT I NEED TO RUN, "obj.number" SHOULD BE 1
});
var x = 0;
}
$scroll = new Scroller("myDIV", {
number: 1,
alertMe: function(numberValue) {
alert(numberValue)
},
scrollMe: function(numberValue) {
myFunction(numberValue)
}
})
正文只是基本的HTML:
<div id="myDIV" >
<!-- a bunch of text goes here so that it scrolls -->
</div>
<div id="divText" ></div>
非常感谢溢出社区帮助我发现我的错误,因为我已经花了太多时间进入我所知道的(希望)将是一个简单的解决方案。
谢谢!
答案 0 :(得分:0)
将x初始化为全局变量,这将解决您的问题
function Scroller(area, obj) {
$divarea = document.getElementById(area);
$divarea.addEventListener("touchstart", function() {
obj.alertMe(obj.number); // THIS WORKS
});
$divarea.addEventListener("touchmove", function() {
obj.scrollMe(obj.number) // THIS DOES NOT WORK AND WHAT I NEED TO RUN, "obj.number" SHOULD BE 1
});
x = 0;
}