如何将事件侦听器添加到 javascript 中定义的图像
How to add Event listener to image defined inside javascript
如何将事件侦听器添加到java脚本中定义的图像中,以便在用户单击图像时将其重定向到其他HTML页面?我正在使用画布元素。
<!DOCTYPE HTML>
<html>
<head>
<style>
body {
margin: 0px;
padding: 0px;
}
</style>
</head>
<body>
<canvas id="myCanvas" width="578" height="1000"></canvas>
<script>
var canvas = document.getElementById("myCanvas");
var context = canvas.getContext("2d");
context.strokeRect(188,50,237,473); //This is for generating outer rectangle
context.fillStyle="FFFFFF";
context.fillRect(188,50,237,473);
context.strokeRect(200,90,213,365); //This is for generating the inner rectangle
context.fillStyle="grey";
context.fillRect(200,90,213,365);
context.strokeRect(284,50,40,5); //This is for generating small notch at top
context.fillStyle="grey";
context.fillRect(284,50,40,5);
var leftArrow = new Image();
leftArrow.addEventListener('load', eventleftArrowLoaded , false);
leftArrow.src = "leftArrow.jpg";
function eventleftArrowLoaded() {
drawScreen();
}
function drawScreen() {
context.drawImage(leftArrow, 218, 482);//leftArrow
}
</script></body></html>
该图像只是一个屏幕外位图,您碰巧已将其像素内容复制到画布中。 它无法接收事件,因为它不在 DOM 中。
您需要将click
事件侦听器添加到画布,而不是图像:
canvas.addEventListener('click', myfunc, false);
如果您希望确保仅将图像覆盖区域内的点击定向到新页面,则需要检查鼠标点击坐标。
相关文章:
- 在文本区域禁用javascript定义的keydown事件并恢复默认行为
- 确定是否使用javascript定义动态选择
- Javascript-定义属性与原型
- JavaScript定义缺少()
- 使用此 V/s 原型的 Javascript 定义方法
- JavascriptCore:从本机代码执行JavaScript定义的回调函数
- 如何使用 Parse.promise javascript 定义一个承诺数组并获取结果数组 [parse.com]
- 如何使用Javascript定义动画图像中的周期数
- 使用Javascript定义未定义的变量
- JavaScript:定义两个类之间的距离
- JavaScript定义数组大小并从另一个数组进行克隆
- Javascript定义全局变量
- AMD兼容的JavaScript-定义然后返回与仅返回之间的任何区别
- Javascript定义-然后调用语法
- 页面特定的javascript..最好是内联或在主Javascript定义中
- 用Parse JavaScript定义两个用户之间的相互关系
- 有没有为Javascript定义showModalDialog方法的标准?
- 用javascript定义一个多维数组
- Javascript:定义带或不带原型的函数
- 为XML原型函数的JavaScript定义原型属性