找回密码
 立即注册

QQ登录

只需一步,快速开始

鸳鸯配2024

金牌服务用户

30

主题

163

帖子

413

积分

金牌服务用户

积分
413
鸳鸯配2024
金牌服务用户   /  发表于:2024-8-19 10:05  /   查看:1074  /  回复:39


双击图片能获取到事件,旁边的两个单元格也能获取到。没找到问题在哪里。
img_v3_02dt_d749c512-c3c4-457b-b5c3-445c2aef9ddg.jpg186802977.png



  1. onMounted(() => {
复制代码
       dblclickAction();
    }, 1000);

})
const dblclickAction = ()=>{
    let Designer = GC.Spread.Sheets.Designer.findControl('designer-container');
    let spread = Designer.getWorkbook()

    document.getElementById('designer-container').addEventListener('dblclick', function (e) {
        let _x = e.pageX - 28
        let offsetLeft = 68;
        if (!Designer.getData("isRibbonCollapse")) {
            offsetLeft = 174
        }
        let _y = e.pageY - offsetLeft;
        console.log("e.pageX",_x,",this.offsetTop",_y)
        let result = spread.hitTest(_x, _y)
        var {row, col} = getHitAreaName(result);
        let sheet = spread.getActiveSheet();
        // let sheet = spread.getSheet(1);
        console.log(sheet.shapes.all(), '-----所有值---', row, col)

        for (let i = 0; i < sheet.shapes.all().length; i++) {
            if (sheet.shapes.all() instanceof GC.Spread.Sheets.Shapes.PictureShape) {
                let pic = sheet.shapes.all()
                let startRow = pic.startRow()
                let endRow = pic.endRow()
                let startColumn = pic.startColumn()
                let endColumn = pic.endColumn()
                console.log(row, col, '----参数---', startRow, '---', endRow, '---pic--', pic, '---endColumn---',endColumn)
                // console.log(row >= startRow &&  row <= endRow, '----',col >= startColumn)
                if (row >= startRow &&  row <= endRow && col >= startColumn && col <= endColumn) {
                    // console.log(startRow,endRow,startColumn,endColumn)
                    console.log(pic,"----当前图片双击", pic.name())
                }

            }
        }
    });

    function getHitAreaName(result) {
        if (!result) return;
        var str = '';
        if (result.worksheetHitInfo) {
            let type = result.worksheetHitInfo.hitTestType
            switch (type) {
                case 0:
                    str = 'corner';
                case 1:
                    str = 'colHeader';
                case 2:
                    str = 'rowHeader';
                case 3:
                    return {row: result.worksheetHitInfo.row, col: result.worksheetHitInfo.col}
            }
        }
    }
}


39 个回复

倒序浏览
Wilson.Zhang
超级版主   /  发表于:2024-8-19 12:22:47
沙发
您好!根据您提供的代码,运行后复制单元格中的图片并粘贴到其他单元格,双击粘贴图片,监听事件处理函数正常响应。没能复现您所说的问题现象,需要您提供一个能够复现问题的完整demo。
回复 使用道具 举报
鸳鸯配2024
金牌服务用户   /  发表于:2024-8-19 13:53:40
板凳
Wilson.Zhang 发表于 2024-8-19 12:22
您好!根据您提供的代码,运行后复制单元格中的图片并粘贴到其他单元格,双击粘贴图片,监听事件处理函数正 ...

你看下这个附件。


企业微信截图_17240468066957.png185836180.png


应该是只有点击图片的时候,才会进入双击事件才对。

双击事件.html

20.08 KB, 下载次数: 31

回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2024-8-19 14:22:00
地板

看到您提供的代码中通过监听ClipboardPasting事件自定义了图片复制粘贴,其实原生的复制粘贴也能够复制您放置在单元格中的图片并粘贴在指定单元格中,所以不太理解您选择自定义的原因是什么呢?
通过调试发现,在您当前定义的代码中,图片对象Shape对应为事件参数objects中的数组元素。如下图所示分别包含了对单元格中内嵌的图片和数值的ClipboardPasting、ClipboardPasted事件监听得到的信息:
1724048098699.png558052978.png
回复 使用道具 举报
鸳鸯配2024
金牌服务用户   /  发表于:2024-8-20 09:20:26
5#
Wilson.Zhang 发表于 2024-8-19 14:22
看到您提供的代码中通过监听ClipboardPasting事件自定义了图片复制粘贴,其实原生的复制粘贴也能够复制您 ...

主要是想粘贴图片到单元格里面,且双击图片放大。
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2024-8-20 10:02:43
6#
鸳鸯配2024 发表于 2024-8-20 09:20
主要是想粘贴图片到单元格里面,且双击图片放大。

您可以依赖原生复制粘贴功能复制粘贴图片到单元格,而关于“双击图片放大”应该是通过dbclick事件定义放大图片尺寸的逻辑。
回复 使用道具 举报
鸳鸯配2024
金牌服务用户   /  发表于:2024-8-20 10:08:56
7#
Wilson.Zhang 发表于 2024-8-20 10:02
您可以依赖原生复制粘贴功能复制粘贴图片到单元格,而关于“双击图片放大”应该是通过dbclick事件定义放 ...

对,但现在是点击图片旁边的几个单元格都会放大。都会有双击事件。
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2024-8-20 11:21:39
8#
鸳鸯配2024 发表于 2024-8-20 10:08
对,但现在是点击图片旁边的几个单元格都会放大。都会有双击事件。

了解问题了,需要您提供下能够复现问题的完整dmeo。
回复 使用道具 举报
鸳鸯配2024
金牌服务用户   /  发表于:2024-8-20 11:24:42
9#
Wilson.Zhang 发表于 2024-8-20 11:21
了解问题了,需要您提供下能够复现问题的完整dmeo。

现在里面有个默认的图片,双击图片旁边的几个单元格,有好几个,都会有图片的双击事件。
帮忙看下,是哪里的原因。

双击事件.html

20.08 KB, 下载次数: 40

回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2024-8-20 12:25:29
10#
鸳鸯配2024 发表于 2024-8-20 11:24
现在里面有个默认的图片,双击图片旁边的几个单元格,有好几个,都会有图片的双击事件。
帮忙看下,是哪 ...

您试一下将判断图片位置的条件语句修改为如下代码:
  1. (row >= startRow &&  row < endRow && col >= startColumn && col < endColumn)
复制代码
回复 使用道具 举报
1234下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部