HTML5 给图片对象添加事件

 我来答
CoderMa
推荐于2016-01-30 · 相关客户端开发10多年经验
CoderMa
采纳数:8 获赞数:31

向TA提问 私信TA
展开全部
你的意思是用canvas2D绘制是吧?
实际上,拿canvas2D绘制,只是把image渲染到 canvas(画布上).而实际的事件,就不能像标签那么处理,应该对canvas的事件做处理.
实现逻辑是这样:
1,添加事件监听,比如说,鼠标按下 做什么,滑动 做什么,弹起做什么.一般鼠标事件都是判断弹起的位置
2,判断有效坐标,在事件中判断坐标位置是否在图片位置,也就是图片在canvas的位置.

ex:
//some code...
canvas.width=400;
canvas.height=400;

var context2d = canvas.getContext("2d");

var img =new Image();
img.src="xxx/xxx.png";
img.onload=function(){
context2d.drawImage(img,X,Y,WIDTH,HEIGTH);
//X=0,Y=0,W=50,H=50
canvas.addEventListener("mouseup", keyUp, false);
}

function keyUp(evt){
Event_UpX = evt.offsetX;
Event_UpY = evt.offsetY;
if(Event_UpX>=绘制坐标X&&Event_UpX<=图片宽度){
if(Event_UpY>=绘制坐标Y&&Event_UpY<=图片高度){
//do something
}
}
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友992e050a8
2013-11-04 · TA获得超过583个赞
知道小有建树答主
回答量:272
采纳率:0%
帮助的人:322万
展开全部

比如有个一个这样的图片

<img src="xxxx.jpg" id="pic">

正常绑定事件即可

document.getElementById('pic').onclick=function(){
alert("点击");
}
追问
我的图片是放在html5 的 canvas标签下的,图片是引用的,不是绘制的,图片对象是
var img=new Image(); img.onclick( function(){}); 不好使,怎么办?
追答

错了

var img=new Image();这个是放入的图片对象

你需要获取DOM对象

你看下那个图片是被什么标签包围的 是<img>不?

有没有id 或者name之类可以直接选中的关键字?

比如下面的id是imgId 

document.getElementById('imgId').onclick=function(){
alert("点击");
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式