【Canvas】在HTML画布上监听鼠标点击或触摸事件

这篇具有很好参考价值的文章主要介绍了【Canvas】在HTML画布上监听鼠标点击或触摸事件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在做h5 canvas的时候需要注意一点,html网页上用canvas组件在不同平台上交互有时候会失效,需要做兼容处理,那是因为在手机浏览器上的不是鼠标点击,就是屏幕触摸事件.

在PC机浏览器上,都是用点击事件,

需要监听画布上的鼠标点击事件,代码如下,

//...
canvas.addEventListener('mousedown',(event)=>{
	const { x, y } = event;
	onTouchStart(x,y)
});
canvas.addEventListener('mousemove',(event)=>{
	const { x, y } = event;
	onTouchMove(x,y);
});
canvas.addEventListener('mouseup',onTouchEnd);

在手机(可触摸设备)浏览器上,小程序上,都是用触摸事件,

需要监听画布上的触摸事件,代码如下

//...
canvas.addEventListener('touchstart',(event)=>{
	const { pageX:x, pageY:y } = event.touches[0];
	onTouchStart(x,y);
});
canvas.addEventListener('touchmove',(event)=>{
	const { pageX:x, pageY:y } = event.touches[0];
	onTouchMove(x,y);
});
canvas.addEventListener('touchend',onTouchEnd);

要做兼容处理,就将上面的代码全部写一遍,并调用公用的方法,追加的代码如下

//触摸开始
function onTouchStart(x,y){
//...
}
//触摸移动
function onTouchMove(x,y){
//...
}
//触摸结束
function onTouchEnd(){
//...
}

讲到 这,话不多.

canvas 鼠标响应事件,Canvas画布绘图,html,canvas,javascript,html5,前端文章来源地址https://www.toymoban.com/news/detail-602328.html

到了这里,关于【Canvas】在HTML画布上监听鼠标点击或触摸事件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Java AWT 图形界面编程】使用鼠标滚轮缩放 Canvas 画布中绘制的背景图像 ( 绘制超大图像 + 鼠标拖动 + 鼠标滚轮缩放 + 以当前鼠标指针位置为缩放中心 示例 )

    鼠标指针指向界面中的 Canvas 画布某个位置 , Canvas 画布中绘制着一张超大图片 , 以该位置为中心 , 滑动鼠标滚轮时进行缩放 ; 使用鼠标滚轮缩放后 , 在 Canvas 中绘制的图片的尺寸肯定是放大或者缩小了 , 尺寸发生了改变 ; 图片缩放时 , 鼠标指针指向一个位置 , 该位置对应着一

    2024年02月15日
    浏览(94)
  • JavaScript——监听事件:点击鼠标,视频静音(原神官网)

    用JS实现视频的静音,可以实现如图按钮所有功能,时间也和视频同步,JS实现。 如图所示, 首先搭个结构 再来看看CSS样式表 最后事件监听要看JavaScript实现 原理: 代码: OK,以上步骤完成,功能即可实现

    2024年02月11日
    浏览(55)
  • 画布canvas

    canvas是HTML5重要元素,不需要外部插件支持,为我们提供了强大的图形处理功能,常用于移动端web的开发。canvas是一个标签在body中直接书写即可,且在css内部样式中不能修改画布的宽度,高度。 1.获取画布:var canvas=document.querySelector(\\\'canvas\\\') 2.获取画笔 :var ctx=canvas.getContext

    2023年04月11日
    浏览(48)
  • 【小程序】Canvas 画布分享海报

    成品效果图 可以通过切换下面图片形成不同的海报背景分享图

    2024年02月14日
    浏览(36)
  • canvas 自定义画布,在画布上增加(边框 图片 文字 )

    先说下我的功能需求: 通过画布,自定义一个区域大小,在这个区域内:添加背景图片、图中图叠加、画内外边框、设置文字(文字的字体和大小颜色) 效果图 背景图片就是鸣人和雏田,右下角的属于图中图叠加效果,左下和右下都是分别画的两个区域框 不需要用到上传图

    2024年02月05日
    浏览(39)
  • 微信小程序--canvas画布实现图片的编辑

    上传图片,编辑图片大小,添加文字,改变文字颜色等 微信小程序--canvas画布实现图片的编辑 软件环境:微信开发者工具 官方下载地址:微信开发者工具下载地址与更新日志 | 微信开放文档 1、基本需求。 实现上传图片 实现图片编辑 实现添加文字 实现导出图片 2、案例目录

    2024年02月05日
    浏览(52)
  • 微信小程序canvas画布不清晰解决方法

    绘制的图片,文字等十分模糊 添加以下代码,通过设置分辨率来解决 完整代码: 模糊不清的时候 多多进行调试一下就可以了 多尝试新方案 

    2024年02月10日
    浏览(60)
  • 微信小程序canvas画布绘制文字自动换行

    关键步骤介绍: text为需要绘制的文本,通过换行符将text分割为words数组。 basic_height为第一行文本的高度。 get_canvas_row函数根据行宽限制将输入文本转化为不同的行,实现见下文。 text_size为设置的文本高度,h+text_size*j为每行待绘制文本的高度,绘制完成后更新h。 get_canvas_

    2024年01月17日
    浏览(53)
  • Python 的Tkinter包系列之三:Canvas(画布)

    Python 的 Tkinter 包系列之三: Canvas (画布) Tkinter 的Canvas(画布)控件具有两个功能,首先它可以用来绘制各种图形(图片),比如直线、弧形、椭圆形、多边形和矩形等,也可以在上面放置图片(graphics)、文本、小部件(widgets)或框架( frames)。 8. The Canvas widget (tkdoc

    2024年02月09日
    浏览(61)
  • Unity UGUI的Canvas(画布)组件的介绍及使用

    Canvas(画布)是Unity UGUI系统中的一个重要组件,用于在屏幕上绘制UI元素。它是UI元素的容器,可以包含各种UI元素,如按钮、文本、图像等。Canvas组件提供了一种方便的方式来管理和渲染UI元素。 Canvas组件通过渲染器将UI元素绘制到屏幕上。它使用层级结构来管理UI元素的显

    2024年02月08日
    浏览(75)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包