jQuery MiniUI

 找回密码
 立即注册
查看: 4465|回复: 7
打印 上一主题 下一主题

表格右键菜单的问题 [复制链接]

Rank: 3Rank: 3

跳转到指定楼层
楼主
发表于 2017-10-22 14:45:31 |只看该作者 |倒序浏览
http://www.miniui.com/demo/#src=datagrid/contextmenu.html
官方的例子,我已经明白,但是我有这样的需求:我设计的表格每行都有按钮,通过点击按钮调出右键菜单。不然他们可能会想不到要点击右击调出菜单。请问怎么才能通过点击按钮调出菜单,而不是右键呢?我想通过js还实现触发右键点击的动作,但是找了半天的百度,也没找到,只好上论坛求教。

Rank: 8Rank: 8

沙发
发表于 2017-10-23 11:02:13 |只看该作者
可以用掉menu.show()来打开下面菜单。

Rank: 3Rank: 3

板凳
发表于 2017-10-24 15:47:30 |只看该作者
felt 发表于 2017-10-23 11:02
可以用掉menu.show()来打开下面菜单。

我按照你的方法,显示是显示了,但是显示的位置是在表格的最下面,没有定位到该行上,请问能具体的讲一下怎么做么

Rank: 8Rank: 8

地板
发表于 2017-10-24 15:59:52 |只看该作者
xiva 发表于 2017-10-24 15:47
我按照你的方法,显示是显示了,但是显示的位置是在表格的最下面,没有定位到该行上,请问能具体的讲一下 ...

可以用menu.showAtEl(el,{})来定位弹出
  var menu = mini.get("gridMenu");
  var row = grid.getSelected();
  var rowEl = grid.getRowEl(row, 2);
menu.showAtEl(rowEl,{xAlign:"center",yAlign:"middle"})

Rank: 3Rank: 3

5#
发表于 2017-10-24 16:31:59 |只看该作者
dforce 发表于 2017-10-24 15:59
可以用menu.showAtEl(el,{})来定位弹出
  var menu = mini.get("gridMenu");
  var row = grid.getSelect ...

  var rowEl = grid.getRowEl(row, 2);
这行无法执行啊

Rank: 8Rank: 8

6#
发表于 2017-10-24 18:09:44 |只看该作者
xiva 发表于 2017-10-24 16:31
var rowEl = grid.getRowEl(row, 2);
这行无法执行啊

报错还是什么?
如果报错,请更新至最新版本。

Rank: 3Rank: 3

7#
发表于 2017-10-25 09:59:24 |只看该作者
dforce 发表于 2017-10-24 18:09
报错还是什么?
如果报错,请更新至最新版本。

更新到最新版本,就没问题了。
但是弹出的菜单位置可以自定义么?比如就在按钮旁边,或者鼠标的位置,现在的位置,就算设置成left也是在最左边的固定列上

Rank: 8Rank: 8

8#
发表于 2017-10-25 11:07:26 |只看该作者
xiva 发表于 2017-10-25 09:59
更新到最新版本,就没问题了。
但是弹出的菜单位置可以自定义么?比如就在按钮旁边,或者鼠标的位置,现 ...

menu.showAtEl(rowEl,{xAlign:"center",yAlign:"middle"})
第一个参数,目标dom元素,你可以指定一个固定的dom,鼠标位置就没意义了,你都说了你是用按钮来弹出的了。
第二个参数xAlign:x轴位置,yAlign:y轴位置。

Archiver|普加软件

GMT+8, 2025-7-9 21:56 , Processed in 1.053720 second(s), 9 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部