HQChart使用教程98-右键菜单2.0使用介绍

HQChart使用教程98-右键菜单2.0使用介绍

  • 内置右键菜单
  • 启用右键菜单
  • 定制右键菜单内容
    • 1. 注册内置右键菜单创建回调事件
    • 2. 修改内置菜单的显示内容
      • 回调函数格式
      • 菜单数据结构
      • 示例
    • 3. 注册菜单项点击事件回调
  • 右键事件
  • 完整示例
  • HQChart代码地址

内置右键菜单

HQChart h5版本内置提供一个仿通达信的右键菜单。效果如下图
在这里插入图片描述
内置菜单源码
https://github.com/jones2000/HQChart/blob/master/webhqchart.demo/jscommon/umychart.popMenu.js

启用右键菜单

在SetOption 开启右键菜单
EnablePopMenuV2 启动内置菜单2.0版本,(内置菜单也可以用在其它如下拉菜单等地方)
IsShowRightMenu 是否显示右键菜单

this.Option= 
{Type:'历史K线图',   //创建图形类型..............EnablePopMenuV2:true, //默认falseIsShowRightMenu:true...................}

定制右键菜单内容

1. 注册内置右键菜单创建回调事件

JSCHART_EVENT_ID.ON_CREATE_RIGHT_MENU

 {event:JSCHART_EVENT_ID.ON_CREATE_RIGHT_MENU,callback:(event, data, obj)=>{ this.OnCreateRightMenu(event, data, obj); }},

2. 修改内置菜单的显示内容

在创建右键菜单回调事件我们可以手动修改菜单显示的内容

回调函数格式

function(event, data, obj)
event 事件信息
data 菜单数据

	回调数据格式:data={MenuData:菜单数据FrameID:窗口索引 , 0开始}

obj 插件实例

菜单数据结构

var aryMenu=
[{ Name:"叠加品种", //菜单项Data:	//菜单项数据 菜单点击以后可以接收到这些数据{ ID:菜单ID 菜单ID可以使用内置预定义好的,也可以自己定义, Args:[参数数组]}, Checked:是否选中打勾 (true|false)SubMenu:	//子菜单[]},
//下面是一个简单的菜单 包含叠加品种(有子菜单)和区间选择这2个菜单选项var aryMenu=[{ Name:"叠加品种", SubMenu:[{ Name:"上证指数", Data:{ ID: JSCHART_MENU_ID.CMD_OVERLAY_SYMBOL_ID, Args:["000001.sh", !aryOverlaySymbol.includes("000001.sh")]}, Checked:aryOverlaySymbol.includes("000001.sh") },{ Name:"深证成指", Data:{ ID: JSCHART_MENU_ID.CMD_OVERLAY_SYMBOL_ID, Args:["399001.sz", !aryOverlaySymbol.includes("399001.sz")]}, Checked:aryOverlaySymbol.includes("399001.sz") },{ Name:"中小板指", Data:{ ID: JSCHART_MENU_ID.CMD_OVERLAY_SYMBOL_ID, Args:["399005.sz", !aryOverlaySymbol.includes("399005.sz")]}, Checked:aryOverlaySymbol.includes("399005.sz") },{ Name:"创业板指", Data:{ ID: JSCHART_MENU_ID.CMD_OVERLAY_SYMBOL_ID, Args:["399006.sz", !aryOverlaySymbol.includes("399006.sz")]}, Checked:aryOverlaySymbol.includes("399006.sz") },{ Name:"沪深300", Data:{ ID: JSCHART_MENU_ID.CMD_OVERLAY_SYMBOL_ID, Args:["000300.sh", !aryOverlaySymbol.includes("000300.sh")]}, Checked:aryOverlaySymbol.includes("000300.sh")},]},{Name:"区间选择",Data:{ ID: JSCHART_MENU_ID.CMD_ENABLE_SELECT_RECT_ID, Args:[!this.EnableSelectRect]}, Checked:this.EnableSelectRect},

示例

下面的例子就是在内置的菜单里面增加一项“自定义菜单项"菜单

this.OnCreateRightMenu=function(event, data, obj)
{console.log("[KLineChart::OnCreateRightMenu] data=", data);var item={ Name:"自定义菜单项", Data:{ ID:"CUSTOM_MENU_1_ID", Args:[1] } };}

3. 注册菜单项点击事件回调

JSCHART_EVENT_ID.ON_MENU_COMMAND 所有菜单事件都会触发这个回调

{event:JSCHART_EVENT_ID.ON_MENU_COMMAND,callback:(event, data, obj)=>{ this.OnMenuCommand(event, data, obj); }
},

回调函数格式
function(event, data, obj)
data={ CommandID:菜单ID, Args:参数,SrcData:原始数据, PreventDefault:是否阻止默认事件 }
下面是一个简单的菜单事件处理

this.OnMenuCommand=function(event, data, obj)
{console.log("[KLineChart::OnMenuCommand] data=", data);if (data.CommandID=="CUSTOM_MENU_1_ID"){data.PreventDefault=true;var text="外部自定义菜单按钮";alert(text);}
}

右键事件

如果不希望使用内置菜单,可以通过关闭内置右键菜单,然后注册右键事件直接在外部自己做

chart.AddEventCallback({event:JSCHART_EVENT_ID.ON_CONTEXT_MENU, callback:testcallback});

完整示例

完整示例可以参见 https://github.com/jones2000/HQChart/blob/master/webhqchart.demo/samples/kline_index_edit.html

HQChart代码地址

github.com/jones2000/HQChart

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/11878.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring Boot + Mybatis-plus代码生成器 自动生成项目结构

首先创建一个新的springboot项目 项目初始化结构如下: 运行自动生成结构代码后的效果如下: 对比初始化项目结构可以发现结构中多了以下几个部分; controller文件夹存储接口类mapper文佳夹存储数据库映射model文件夹存储数据库模型类Service文件夹存储业…

未授权访问:Docker未授权访问漏洞

目录 1、漏洞原理 2、环境搭建 3、未授权访问 4、通过crontab反弹宿主机shell 防御手段 今天继续学习各种未授权访问的知识和相关的实操实验,一共有好多篇,内容主要是参考先知社区的一位大佬的关于未授权访问的好文章,还有其他大佬总结好…

LabVIEW

LabVIEW(Laboratory Virtual Instrument Engineering Workbench)是由美国国家仪器(National Instruments,简称NI)公司开发的一种程序开发环境,它主要用于数据采集、仪器控制、测试和测量等应用。LabVIEW的最…

中文环境下编写sql server存储过程用中文命名的好处

在中文环境下编写SQL Server存储过程用中文命名的好处 随着信息技术的发展和编程语言对多语言字符集的支持增强,越来越多的开发者在中文环境下编写SQL Server存储过程时,开始使用中文命名。本文将讨论在这种情况下使用中文命名的诸多好处。 1. 提高可读…

万字长文带你掌握 IDEA 2024 的30个Debug调试绝技,让你开发与修复 Bug 的效率提升亿倍

万字长文带你掌握 IDEA 2024 的30个Debug调试绝技,让你开发与修复 Bug 的效率提升亿倍 博主猫头虎的技术世界 🌟 欢迎来到猫头虎的博客 — 探索技术的无限可能! 专栏链接: 🔗 精选专栏: 《面试题大全》 — …

QCC---Aptx Lossless验证

因为aptx Lossless属于高通骁龙声音的一部分,一般支持高通骁龙声音的设备会支持到,比如说手机,而且还要支持最新的aptx adaptive协议R2.2版本。但是如果手上没有这样的手机的话,有source芯片也可以去做测试验证。在最新的784.1版本…

Dockfile和YAML文件的区别

Dockerfile和YAML文件是两种不同格式的配置文件,它们在Docker生态系统中扮演不同的角色: Dockerfile:这是一个文本文件,用于通过一系列的指令定义一个Docker镜像的内容和构建过程。Dockerfile中的每一行通常对应一个Docker镜像层&…

入职Java,不会git被开除了。。。

入职Java,不会git被开除了。。。 文章目录 入职Java,不会git被开除了。。。前言一、Git是什么?二、Git的核心概念三、Git的工作流程四、Git的常用命令五、总结 🌈你好呀!我是 山顶风景独好 💝欢迎来到我的博…

钽酸锂集成光子芯片:引领光电集成新纪元

在信息技术飞速发展的今天,光电集成技术已成为推动全球集成电路产业持续创新的重要力量。随着全球集成电路产业发展步入“后摩尔时代”,芯片性能提升的难度和成本不断攀升,业界急需寻找新的技术突破口。在这一背景下,中国科学院上…

stream 排序

stream常用写法 // 实体类 public static class User {private String id;private String name;private String value;private String year; }1.List转Map List<User> list = userMapper.selectAll(param); List 转 MapMap<String, String> idMap = list.stream(…

微软发布研究报告:75%的知识工作者在工作中使用AI

“人工智能正在使整个劳动力的专业知识民主化&#xff0c;我们的最新研究强调了每个组织都有机会应用这项技术来推动更好的决策、协作&#xff0c;并最终实现业务成果。” ——Microsoft董事长兼首席执行官萨蒂亚纳德拉&#xff08;Satya Nadella&#xff09; 一年前&#xff0…

pycharm连接远程服务器,解决终端出现乱码问题

在终端输入命令时会有乱码问题&#xff0c;是字体编码设置错误。 根据上述步骤&#xff0c;设置完成后重启就可以了。

重生之霸总的项目管理之道

在都市的摩天大楼之间&#xff0c;顾辰&#xff0c;这位被人们称为“霸总”的项目经理&#xff0c;以他独特的魅力和高效的项目管理方式&#xff0c;成为了行业内的传奇人物。他并非传统意义上的冷酷霸总&#xff0c;而是一个懂得运用现代项目管理工具&#xff0c;带领团队一次…

【Golang】在 Go 语言中使用 Otto 执行 JavaScript 代码

文章目录 前言一、Otto 解释二、代码实现四、总结 前言 在很多应用场景下&#xff0c;我们可能需要在 Go 语言中执行 JavaScript 代码&#xff0c;例如在服务器端运行一些客户端的脚本&#xff0c;或者执行一些动态生成的脚本。Otto 是一个由 Go 语言编写的 JavaScript 解释器…

MySQL基础指南:从入门到精通

MySQL基础指南&#xff1a;从入门到精通 MySQL是一个流行的开源关系型数据库管理系统&#xff0c;被广泛用于Web应用程序和服务器端开发。本文将从MySQL的基本概念开始&#xff0c;逐步介绍MySQL的安装、常用操作、数据类型、查询语句等内容&#xff0c;帮助你快速入门MySQL数…

地下车库导航地图怎么做?停车场地图绘制软件哪个好?

上海懒图科技以先进技术和丰富的行业服务经验为用户提供停车场景下的全流程服务平台&#xff0c;用户基于平台可自主快速绘制酷炫的停车场地图&#xff0c;通过提供完善的停车场应用功能集和扩展API服务包&#xff0c;可以方便地实现电子地图服务于您的各类停车场应用中&#x…

利用香港多IP服务器进行大数据分析的潜在优势?

利用香港多IP服务器进行大数据分析的潜在优势? 在当今数据驱动的时代&#xff0c;大数据分析已经成为企业获取竞争优势的不二选择。而香港作为一个拥有世界级通信基础设施的城市&#xff0c;提供了理想的环境来部署多IP服务器&#xff0c;从而为大数据分析提供了独特的优势。…

答辩PPT快速生成工具有哪些?笔灵AI答辩PPT,一键搞定

很多快要毕业的同学在做答辩PPT的时候总是感觉毫无思路&#xff0c;一窍不通。但这并不是你们的错&#xff0c;对于平时没接触过相关方面&#xff0c;第一次搞答辩PPT的人来说&#xff0c;这是很正常的一件事。一个好的答辩PPT可以根据以下分为以下几部分来写。 1.研究的背景和…

python 基础(笔记)

文章目录 1. 环境安装2. 第一个程序 hello word3. 注释4. 变量4.1 变量声明4.2 命名规则4.3 命名规范 5. 运算符5.1 算术运算符5.2 赋值运算符5.3 比较运算符 6. 数据类型6.1 数据类型6.2 数据类型的转换 7. 字符串操作7.1 字符串定义的几种方式7.2 字符串拼接7.3 字符串格式化…

CentOS-Stream-9配置chfs

在/chfs目录下运行&#xff0c;下载出错&#xff0c;所以换个目录&#xff0c;例如/cute。 mkdir /cute cd /cute wget http://iscute.cn/tar/chfs/3.1/chfs-linux-386-3.1.zip unzip chfs-linux-386-3.1.zip firewall-cmd --add-servicehttp --permanent firewall-cmd --reloa…