我正在检测mousepointer是否在我在P5.js中绘制的ellipse
内。当鼠标与ellipse
联系时,应将其删除。我可以通过迭代存储省略号locations
的数组来实现这一点,通过访问宽度element.w
来检查鼠标指针是否足够接近它们以保证内部。这是一种使用简单的for循环来实现的方法:
for(var i = 0; i < locations.length; i++){
var d = dist(mouseX, mouseY, locations[i].x, locations[i].y);
if(d <= locations[i].w){
locations.splice(i,1);
}
}
我想知道forEach
循环方式是做什么的。我预先假装它会像下面的代码,但你如何实际销毁元素?
locations.forEach(function(element) {
var d = dist(mouseX, mouseY, element.x, element.y);
if(d <= element.w){
//Destoy the element??? How do you do that????
}
});
答案 0 :(得分:1)
使用Array的过滤函数,def变量保留新数组
答案 1 :(得分:1)
如果您不想处理.remove()
function removeDummy() {
var elem = document.getElementById('dummy');
elem.parentNode.removeChild(elem);
return false;
}
答案 2 :(得分:0)
尝试使用element.remove()
,但这存在跨浏览器兼容性问题。