下記のフィドルを見て、できるだけ表示ウィンドウを広げてください。私はそれを取得しようとしているので、私は矢印上にマウスを置いてクリックすることができます。私は現在、ホバーコードとして赤い四角形を持っています。残念ながら、これは#0の矢印ボックスでのみ機能します。私はこれが他の3つのボックスではうまくいかない理由を知りません。コンソールに出力が記録され、マウスとホバーのコードが一致して更新されていますが、カーソルのスタイルが変更されていることがわかります:ポインタが機能しません!キャンバスマウスオーバーで3/4ボタンが盗まれました
https://jsfiddle.net/8avwjxjq/
-
(例コンソール出力は、以下のコードを参照してください)I:1
coordsObj.arrows [I]:116548
するmouseX:171
mouseYの: 569
// Capture Clicks
document.addEventListener('mousemove', function(e){
// console.log("mouseX:"+mouseX+", "+mouseY);
for (var i = coordsObj.arrows.length - 1; i >= 0; i--) {
// console.log("coordsObj: "+[coordsObj.arrows[i-1], coordsObj.arrows[i]]);
// console.log("mousePos: "+[mouseX, mouseY]);
var mouseX = e.pageX,
mouseY = e.pageY,
arrowX = coordsObj.arrows[i][0],
arrowY = coordsObj.arrows[i][1],
radius = 50;
// Debugging
console.log("i: "+i);
console.log("coordsObj.arrows[i]: "+coordsObj.arrows[i]);
console.log("mouseX: "+mouseX);
console.log("mouseY: "+mouseY);
ctx.fillStyle = "red";
ctx.fillRect(arrowX-(2*radius), arrowY-radius, radius, radius);
textObj.draw(i, arrowX, arrowY, 24, "#fff");
// Arrow Radius Hover
if (mouseX > (arrowX - radius) && mouseX < (arrowX + radius) && mouseY > (arrowY - radius) && mouseY < (arrowY + radius)){
body.style.cursor = "pointer";
} else {
body.style.cursor = "default";
}
}
});
:)はありがとうございました... ..
ハッピープログラミングを電子ループはカーソルを設定行われ、あなたの問題が解決されます!皮肉な名前は盲目を導く盲目の; –