jQuery MiniUI

标题: ContextMenu多个li 绑定事件,取对象问题 [打印本页]

作者: harvey    时间: 2014-5-30 14:53:33     标题: ContextMenu多个li 绑定事件,取对象问题

本帖最后由 harvey 于 2014-5-30 14:53 编辑

我想要ContextMenu
  1. <li iconCls="icon-add" onclick="onItemClick">增加</li>        
  2.                         <li iconCls="icon-edit" onclick="onItemClick">修改</li>
  3.                 <li iconCls="icon-remove" onclick="onItemClick">删除</li>        
复制代码
li里面的onclick每个通过获取对象来绑定事件,不然我有多个li节点就要写多个onclick在页面上感觉重复不太好。
还有我看了ContextMenu DataGrid有禁用、隐藏节点的方法,但是我是从一个DIV弹出来的把右键事件用左键来代替,我该怎样得到对象禁用节点像ContextMenu DataGrid了。


作者: felt    时间: 2014-6-3 10:06:54

不明白你要什么效果
你现在是在什么控件上弹出菜单的?
作者: harvey    时间: 2014-6-4 18:46:49

本帖最后由 harvey 于 2014-6-4 18:48 编辑
felt 发表于 2014-6-3 10:06
不明白你要什么效果
你现在是在什么控件上弹出菜单的?

1 首先我要通过ContextMenu对象得到每个li的 onclick,onclick="onItemClick" 不要这样写死在里面。
2 我要在div弹出菜单,而且像ContextMenu DataGrid一样有节点禁用,节点隐藏控制。
我该咋写,请指点

作者: factory    时间: 2014-6-5 09:34:06

harvey 发表于 2014-6-4 18:46
1 首先我要通过ContextMenu对象得到每个li的 onclick,onclick="onItemClick" 不要这样写死在里面。
2 我 ...

1.试试监听菜单的onitemclick事件,通过e.item获取到当前点击的menuitem对象

2.只能通过contextmenu那种做法,给item加上name,在beforeopen里面根据name获取到item,再设置隐藏,禁用
作者: harvey    时间: 2014-6-5 15:00:53

本帖最后由 harvey 于 2014-6-5 15:07 编辑
factory 发表于 2014-6-5 09:34
1.试试监听菜单的onitemclick事件,通过e.item获取到当前点击的menuitem对象

2.只能通过contextmenu那种 ...
  1. <ul id="menui" class="mini-contextmenu" onbeforeopen="onBeforeOpen">
  2.             <li id="Li1" name="public_t"><span>通用的项</span>...
复制代码

跟示例写一样的,为什么我定义了beforeopen方法没执行进来,
弹出ul菜单我是左键弹的而不是右键弹出,在编辑器菜单栏上加的一个按钮。
是我哪里属性没设置吗,请版主指点
作者: felt    时间: 2014-6-5 15:30:44

harvey 发表于 2014-6-5 15:00
跟示例写一样的,为什么我定义了beforeopen方法没执行进来,
弹出ul菜单我是左键弹的而不是右键弹出,在编 ...

请做个简单的html页面,高级模式可以上传文件
作者: harvey    时间: 2014-6-5 16:14:09

本帖最后由 harvey 于 2014-6-5 16:16 编辑
felt 发表于 2014-6-5 15:30
请做个简单的html页面,高级模式可以上传文件

[attach]4618[/attach]

我这里miniui包压缩有4.77M,2年前的


作者: felt    时间: 2014-6-5 17:10:44

harvey 发表于 2014-6-5 16:14
我这里miniui包压缩有4.77M,2年前的

你的菜单是直接js控制弹出来,不触发before事件
你直接在button的事件里写就是了
作者: harvey    时间: 2014-6-6 11:35:09

felt 发表于 2014-6-5 17:10
你的菜单是直接js控制弹出来,不触发before事件
你直接在button的事件里写就是了 ...

还有一个问题,我在第三个节点加上子节点,mini.getbyName("remove", menu)为null了,
我改咱去删除节点对象请版主指点
  1. <li name="remove" iconCls="icon-remove" ><span> 删除节点</span>
  2.             <ul>
  3.                 <li>当前日期</li>
  4.                 <li>当前时间</li>
  5.                 <li>人员英文名</li>
  6.             </ul>
  7.             </li>     
复制代码

作者: felt    时间: 2014-6-6 12:04:58

harvey 发表于 2014-6-6 11:35
还有一个问题,我在第三个节点加上子节点,mini.getbyName("remove", menu)为null了,
我改咱去删除节点 ...

name="remove"加在span上试试
作者: harvey    时间: 2014-6-6 14:10:22

felt 发表于 2014-6-6 12:04
name="remove"加在span上试试

多谢版主,解决了




欢迎光临 jQuery MiniUI (http://miniui.com/discuss/) Powered by Discuz! X2