举个栗子:有个需求,在excel的单元格中,需要通过鼠标右击打开功能列表,选择“查询”后打开一个弹窗。弹窗里是一个表格数据,该弹窗是通过你点击的单元格里的某一项数据而查询出来的,并且不是所有的单元格都能有这个右击功能。
ps:查过很多资料,没有找到对指定单元格添加右击自定义菜单功能。目前能想到的办法是动态给全局添加自定义右击事件,在右击之前通过hot.beforeOnCellContextMenu()来控制哪些是可右击。
具体实现方法:
hot.updateSettings(
beforeOnCellContextMenu(event,coords,TD){
if(data[coords.row][coords.col].xxx){
hot.updateSettings({
contextMenu:{
"toSearch":{
name:"查找",
callback:function(key,options){
toSearch(options)
}
}
}
})
}
else{
hot.updateSettings({
contextMenu:false
})
}
}
)
里面coords的数据格式为
coords:{
col:3,
row:6
}
这里显示的是当前点击的行和列的数据,接下来要做的事情就是通过col和row拿到原数据的值,通过里面的某一参数判断是否可以执行右键查询操作。