小程序
小游戏
企业微信
微信支付
扫描小程序码分享
editor组件插入图片后,组件没有暴露出图片点击事件
3 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
目前暂不支持此功能。
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
我是开发编辑器的时候,遇到这个问题,需要点击图片,打开我自定义的图片编辑弹窗。
没有找到Editor相关的图片点击事件,我用了下面这种方案实现了这个效果。
1、给Editor外层加了一个view监听点击事件,得到e.detail.x和y,知道点击的位置在哪。
2、目前EditorContext好像没有接口能直接获取某个坐标的元素是什么,我使用了EditorContext.getBounds来判断点击位置的元素是什么。不过需要先EditorContext.getContents获取delta,然后手动解析,目测好像所有数据都是在insert中(不确定除了insert是不是还有其他类型)。目测文本类型长度就是insert的长度,图片类型index长度就是+1。我for循环遍历EditorContext.getBounds({index: i,length: 1})得到的left、top、width、height来判断点击坐标是不是在范围内,这个接口获取的left、top是相对于屏幕的坐标,不需要进行额外的坐标转换(这里的for循环应该可以用二分法优化)。判断出的结果就用delta里面的image或者attributes来进行操作。
一直不支持,放弃这个需求吧
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
目前暂不支持此功能。
我是开发编辑器的时候,遇到这个问题,需要点击图片,打开我自定义的图片编辑弹窗。
没有找到Editor相关的图片点击事件,我用了下面这种方案实现了这个效果。
1、给Editor外层加了一个view监听点击事件,得到e.detail.x和y,知道点击的位置在哪。
2、目前EditorContext好像没有接口能直接获取某个坐标的元素是什么,我使用了EditorContext.getBounds来判断点击位置的元素是什么。不过需要先EditorContext.getContents获取delta,然后手动解析,目测好像所有数据都是在insert中(不确定除了insert是不是还有其他类型)。目测文本类型长度就是insert的长度,图片类型index长度就是+1。我for循环遍历EditorContext.getBounds({index: i,length: 1})得到的left、top、width、height来判断点击坐标是不是在范围内,这个接口获取的left、top是相对于屏幕的坐标,不需要进行额外的坐标转换(这里的for循环应该可以用二分法优化)。判断出的结果就用delta里面的image或者attributes来进行操作。
一直不支持,放弃这个需求吧