Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/392.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
单击画布时的javascript警报_Javascript_Html_Canvas - Fatal编程技术网

单击画布时的javascript警报

单击画布时的javascript警报,javascript,html,canvas,Javascript,Html,Canvas,我有一块画布,在上面为我的游戏制作菜单屏幕: var canvas = document.createElement("canvas"); var ctx = canvas.getContext("2d"); canvas.width = 512; canvas.height = 480; document.body.appendChild(canvas); ctx.font="30px monospace"; ctx.fillStyle = "black"; ctx.strokeText("

我有一块画布,在上面为我的游戏制作菜单屏幕:

var canvas = document.createElement("canvas");
var ctx = canvas.getContext("2d");
canvas.width = 512;
canvas.height = 480;
document.body.appendChild(canvas);

ctx.font="30px monospace";
ctx.fillStyle = "black";
ctx.strokeText("click to begin",140,260);
当用户点击“点击开始”时,我希望它进入我的游戏,但考虑到我无法让onclick工作,我只希望它提醒我它已经工作了。到目前为止(根据我找到的教程和示例),我有以下代码:

mouse = (function (target) {
    var isButtonDown = false;

    c.addEventListener('mousedown', function () {
        isButtonDown = true;
    });

    return {
         isButtonDown: function () {
             return isButtonDown;
         }
    };
}(document));

var isButtonDown = input.isButtonDown();

if (isbuttondown == true) {
          alert("Mouse clicked");
}
这段代码在我运行时不起任何作用。有人能给我解释一下如何让它工作,或者至少我需要改变什么吗

提前感谢,

赖利这里有一个解决方案

我已删除警报,而是使用console.log。检查控制台

JS

编辑:这里是同一个fiddle with Alert选项

canvas.addEventListener('click', function (evt) {
    var mousePos = getMousePos(canvas, evt);
    var message = 'Mouse Clicked at ' + mousePos.x + ',' + mousePos.y;
    console.log(message);
}, false);

function getMousePos(canvas, evt) {
    var rect = canvas.getBoundingClientRect();
    return {
        x: evt.clientX - rect.left,
        y: evt.clientY - rect.top
    };
}