我正在画架中创建一个基本的文本窗口。文本窗口具有向上和向下滚动箭头以启用文本滚动。我只需通过单击向上或向下按钮,然后移动单击文本框的y坐标即可。
我遇到的问题是每次点击只移动一次。如果我要滚动很多文字,我必须点击很多次。我想要的是能够单击并按住按钮并让监听器在鼠标停止时重复操作?
这是我的简化代码附在向下按钮上:
btn_down.on("mousedown", function(evt) {
content.y -= 20;
game.stage.update();
});
我已经尝试了mousedown并点击了,但它似乎仍然只有一次。
答案 0 :(得分:0)
mousedown事件触发一次(当您按下鼠标按钮时)。如果要在鼠标按下时循环事件,请在按下鼠标时设置间隔(并在释放鼠标时将其清除),或者在勾选期间切换导致更新的属性。
http://jsfiddle.net/lannymcnie/t7uz2v6m/
shape.on("mousedown", handlePress);
shape.on("pressup", handleRelease);
var pressed = false;
function handlePress(event) { pressed = true; }
function handleRelease(event) { pressed = false; }
function tick(event) {
if (pressed) { shape2.x += 1; }
stage.update(event);
}
请注意,我使用“pressup”事件而不是mouseup等效(click),因为如果你推出并发布,“pressup”事件仍会触发。
干杯。