javascript - 有没有更好的方法来调用和放置这个点击处理函数?
问题描述
我有一个绘图功能,其目的是提供元素的运动和交互性。在这个函数中,我为点击放置了一个事件监听器。
这个事件监听器应该如何工作?
推送时,事件侦听器获取单击点的 x 和 y 值,并且距离单击点 100 像素的元素(圆圈)将其颜色更改为白色。
虽然它有效,但它只考虑数组的第一个元素。我试图看看是不是因为计数器初始化,但似乎不是。
注意:我正在使用一个名为“strip[]”的数组。
//7.EVENT LISTENER-
rect.node.addEventListener('click', function(ev) {
mouseState = true;
console.log("Got you!");
counter = 0;
counter++;
//Determine the distance beetween two points with simple equation:
dist = distance(ev.offsetX, ev.offsetY, strip[counter].xpos, strip[counter].ypos);
//SHOW DISTANCE
console.log("bombayah! " + dist);
console.log("disk:" + counter);
//7. PRINT THE MESSAGE AND CHANGE COLOR
if (dist > 100) {
console.log(">100- MAYOR");
strip[counter].attr({
"fill": "white",
"stroke-width": 0
});
}
if (dist < 100 || mouseState != true) {
console.log("<100 MENOR");
strip[counter].attr({
"fill": colorString,
"stroke-width": 0
});
}
//*******************************************
});
rect.node.addEventListener('mouseup', function(ev) {
mouseState = false;
console.log("Up!")
});
解决方案
推荐阅读
- react-native - 如何获取文本输入数据并通过链接将其传递给电子邮件 - 反应原生博览会
- java - 这个java参数是否会在sql server中插入一行?
- redis - 你能解释一下Redis的复制功能吗
- c# - 使用泛型方法更新父子(一对一)
- selenium - 如何在 Selenium WebDriver 中使用 Javascript 获取元素的背景颜色
- asp.net - ASP.NET Core 将 http 重定向到 https,但我不想在 localhost 中执行此操作,我也使用不同的端口
- c++ - 如何为函数提供替代名称?
- react-native - 我应该如何添加质量选择器来反应原生视频?
- visual-studio-code - 如何在特定标记之后突出显示一个单词?
- json - 在 Groovy 中将 JSON 解析为 CSV