解决canvas在IE中不能正常显示右键菜单的bug

     今天整理一下之前碰到的canvas在IE11中都不能正常显示右键菜单(右键不显示菜单,移动一下鼠标才正常显示出来)的bug解决过程:

    之前做巡检机器人项目时,用到了canvas,即利用canvas画红框、清除红框、获取红框坐标值等,鼠标一划就可以画一个红框,然后在红框所在区域内右键就可以弹出有清除红框和查看坐标按钮的面板。每次打开配置对话框时会先发请求查询数据库,加载之前画的已存到数据库里的红框,然后可以新增红框,右键弹出面板可以清除红框。功能大概是这样,但是莫名其妙碰到一个问题:每次打开对话框加载完已有的红框之后,右键=》清除红框,在Chrome和火狐中可以正常弹出面板,但在IE中却无法正常弹出面板,右键之后没反应,必须移动一下鼠标面板才出来,而且是需要鼠标移到面板所在的区域才能显示出面板,考虑是局部刷新的问题,最后通过局部刷新页面解决了问题,即在绑定右键事件的代码里先局部刷新一下红框所在的canvas,相关代码如下:

//手动让canvas刷新,为了兼容IE
$("#myCanvas").load(location.href+" #myCanvas");   //myCanvas是红框所在的canvas的id

解决此问题参考的博客:https://blog.csdn.net/qq_37682202/article/details/79076719

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值