new ContextMenu(json)
创建右键菜单
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
json |
string | Array.<MenuParams> |
<optional> |
当数组对象为字符串 separator 时为分割线 |
Requires:
- module:ht-menu.js
- module:ht-contextmenu.js
Requires
- module:ht-menu.js
- module:ht-contextmenu.js
Methods
-
addTo(container) → {void}
-
指定右击菜单相应的 DOM 节点
Parameters:
Name Type Attributes Description container
HTMLElement <optional>
父 DOM
Returns:
void -
addToDOM(parentNode) → {void}
-
将视图插入到 DOM 中,不指定 dom 节点默认添加到 body 下
Parameters:
Name Type Attributes Description parentNode
HTMLDivElement <optional>
父 DOM
Returns:
void -
addViewListener(listener, scope, ahead) → {void}
-
监听视图事件,如布局、刷新等
Parameters:
Name Type Attributes Description listener
function 监听器函数
scope
object <optional>
监听器函数域
ahead
boolean <optional>
是否将当前监听器插入到监听器列表开头
Returns:
void -
afterHide() → {void}
-
菜单隐藏之后被调用
Returns:
void -
afterShow(event) → {void}
-
菜单显示之后被调用
Parameters:
Name Type Description event
Event Returns:
void -
beforeShow(event) → {void}
-
菜单显示之前被调用,可以重写此方法实现动态菜单功能
Parameters:
Name Type Description event
Event Returns:
void -
disableGlobalKey() → {void}
-
禁用全局快捷键
Returns:
void -
dispose() → {void}
-
销毁此组件
Returns:
void -
enableGlobalKey() → {void}
-
启用全局快捷键,一旦启用此选项,菜单不再使用时需要显式调用 contextmenu#dispose dispose 销毁菜单
Returns:
void -
fireViewEvent(kind) → {void}
-
Parameters:
Name Type Description kind
string Returns:
void -
getClass() → {function}
-
获取类声明(构造函数)
Returns:
function -类声明(构造函数)
-
getDisabledDiv() → {HTMLElement}
-
获取被禁用组件的 div
Returns:
HTMLElement -被禁用组件的 div
-
getHeight() → {number}
-
获取布局高度
Returns:
number -布局高度
-
getItemById(id) → {any}
-
根据id值找到对应的 item 元素
Parameters:
Name Type Description id
string id 值
Returns:
any -item 元素
-
getItemByProperty(property, value) → {object}
-
查找属性名为 property,值为 value 的菜单项,只返回第一个查找结果
Parameters:
Name Type Description property
string 属性名
value
any 值
Returns:
object -
getItems() → {string|Array.<object>}
-
获取所有菜单项
Returns:
string | Array.<object> -所有菜单项
-
getRelatedView() → {HTMLDivElement}
-
获取右击菜单组件响应的 DOM
Returns:
HTMLDivElement -右击菜单组件响应的 DOM
-
getRowHeight() → {number}
-
获取默认行高
Returns:
number -行高
-
getSuperClass() → {function}
-
获取父类声明(构造函数)
Returns:
function -父类声明(构造函数)
-
getView() → {HTMLDivElement}
-
获取组件的根层 div
Returns:
HTMLDivElement -
getVisibleFunc() → {function}
-
获取可见过滤器函数
Returns:
function -
getWidth() → {number}
-
获取布局宽度
Returns:
number -
hide() → {void}
-
隐藏菜单
Returns:
void -
invalidate(delay) → {void}
-
无效组件,并调用延时刷新
Parameters:
Name Type Attributes Description delay
number <optional>
延迟刷新的间隔事件(单位: ms )
Returns:
void- See:
-
- contextmenu#iv iv
-
isDisabled() → {boolean}
-
组件是否处于不可用状态,处于此状态时不能进行任何操作并且会遮挡一层蒙板
Returns:
boolean -
isShowing() → {boolean}
-
组件是否处于可见状态
Returns:
boolean -组件是否处于可见状态
-
iv(delay) → {void}
-
无效组件,并调用延时刷新
Parameters:
Name Type Attributes Description delay
number <optional>
延迟刷新的间隔事件(单位: ms )
Returns:
void- See:
-
- contextmenu#invalidate invalidate
-
layout(x, y, width, height) → {void}
-
执行布局
Parameters:
Name Type Description x
number 视图左上角布局 x 点位置
y
number 视图左上角布局 y 点位置
width
number 视图宽度
height
number 视图高度
Returns:
void -
removeViewListener(listener, scope) → {void}
-
删除视图事件监听器
Parameters:
Name Type Attributes Description listener
function 监听器函数
scope
object <optional>
监听器函数域
Returns:
void -
setCursor(style) → {void}
-
设置 css 的鼠标样式,cursor
Parameters:
Name Type Description style
string Returns:
void -
setDisabled(value, iconUrl) → {void}
-
设置组件是否处于不可用状态,处于不可用状态时不能进行任何操作并且会遮挡一层蒙板
Parameters:
Name Type Attributes Description value
boolean 是否禁用组件
iconUrl
string <optional>
蒙板上显示的 icon 的路径
Returns:
void -
setFocus(value) → {void}
-
根据值给组件设置焦点
Parameters:
Name Type Attributes Description value
string <optional>
Returns:
void -
setHeight(height) → {void}
-
设置布局高度
Parameters:
Name Type Description height
number 高度值
Returns:
void -
setItems(items) → {void}
-
设置菜单项,参数为 JSON 对象
Parameters:
Name Type Description items
string | Array.<object> 菜单项配置数组
Returns:
voidExample
//event格式: [{ label: '', //菜单文字 icon: '', //菜单图片 ICON type: "check" | "radio", //可多选的菜单项 | 单选菜单项 groupId: 1 //菜单项分组, 当 type 为 radio 有用 disabled: true //禁用菜单项,可以是函数,由返回值决定是否禁用 href: "http://www.hightopo.com", //超链到某个 URL linkTarget: "_blank", //超链目标,默认 _self key: [Key.ctrl, Key.enter], //实际响应的快捷键 suffix: "Ctrl+Enter", //在菜单上显示的提示文字 preventDefault: false, //是否阻止快捷键默认的行为,默认为 true visible: true, //是否可见,可为 Boolean,也可以是 function }]
-
setItemVisible(id, visible) → {void}
-
设置指定 id 的菜单项是否可见
Parameters:
Name Type Description id
string 菜单项 id
visible
boolean 是否可见
Returns:
void -
setLabelMaxWidth(maxWidth) → {void}
-
设置菜单中 label 的最大宽度,如果 label 过长会出现跑马灯效果
Parameters:
Name Type Description maxWidth
number 最大宽度
Returns:
void -
setVisibleFunc(func) → {void}
-
设置可见过滤器
Parameters:
Name Type Description func
function 过滤器函数
Returns:
void -
setWidth(width) → {void}
-
设置布局宽度
Parameters:
Name Type Description width
Number 过滤器函数
Returns:
void -
show(x, y, mouseOffset) → {void}
-
显示菜单, x、y 为菜单显示页面在中的坐标
Parameters:
Name Type Attributes Description x
number | Event x 坐标,当仅有一个参数可以传入鼠标事件
y
number <optional>
y 坐标
mouseOffset
boolean <optional>
是否默认相对传入位置偏移
Returns:
void -
showOnView(view, x, y) → {void}
-
在对应组件上显示菜单
Parameters:
Name Type Attributes Description view
any 组件,可以是 DOM 或者 ht 组件
x
number | Event x 坐标,当仅有二个参数可以传入鼠标事件
y
number <optional>
y 坐标
Returns:
void -
validate() → {void}
-
立刻刷新拓扑
Returns:
void -
validateImpl() → {void}
-
刷新
Returns:
void