jQuery MiniUI

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

事件的移除问题 [复制链接]

Rank: 1

跳转到指定楼层
楼主
发表于 2013-8-16 15:41:20 |只看该作者 |倒序浏览
最近在做权限控制功能,当我只知道一个datagrid的id时候,我要移除它的rowdblclick事件,发现不能实现.
datagrid.un("rowdblclick",fn);   fn方法是我不知道的.

1.为什么当移除一个事件的时候必须要传递移除事件对应的方法,如果我没传递是不是可以设定为删除rowdblclick的所有绑定事件.我觉得可以参考下jquery的unbind方法

2.如果一定要传递删除事件的方法名,那么是不是在miniui.js里面可以提供.因为在div转换为mini-datagrid对象的时候,你们已经获取了onrowdblclick事件的方法了.本里我是想用属性方式获取datagrid里面的onrowdblclick值,但是你们在转换对象的时候已经把不是div的属性删除了,所以我无法获取.

Rank: 9Rank: 9Rank: 9

沙发
发表于 2013-8-16 15:46:05 |只看该作者

  1. var fn = function(){
  2. }

  3. grid.on("rowclick", fn); //绑定事件
  4. grid.un("rowclick", fn); //接触绑定
复制代码

解除事件绑定,必须要传递一个处理函数,所以绑定的时候不要是匿名函数。


Rank: 1

板凳
发表于 2013-8-16 15:54:02 |只看该作者
niko 发表于 2013-8-16 15:46
解除事件绑定,必须要传递一个处理函数,所以绑定的时候不要是匿名函数。


这个是我们权限控制的配置.操作代码可以理解为id, 我们在后台只需要这样配置..
剩下的就根据当前用户拥有哪些权限由框架去控制是否可以操作"按钮",表格的双击弹出事件,
因为这个是针对于整个系统的权限控制,所以如果只是一个datagrid的id.我是没法知道它的方法名的
附件: 你需要登录才可以下载或查看附件。没有帐号?立即注册

Rank: 9Rank: 9Rank: 9

地板
发表于 2013-8-16 16:20:07 |只看该作者
你这个场景,根本不需要解除绑定事件处理。

var fn = function(){
    if(isFunction("add")==false) return;
    ...
}
grid.on("rowclick", fn);

应该在处理函数内部,判断权限是否具备,只有具备再执行下面的代码;不具备就退出。

Rank: 1

5#
发表于 2013-8-16 16:31:42 |只看该作者
niko 发表于 2013-8-16 16:20
你这个场景,根本不需要解除绑定事件处理。

var fn = function(){

我的绑定事件是在div里面加的onrowdblclick属性,而且如果你那样做的话,就会给开发人员增加负担.每个页面的开发人员都要加一堆的判断条件.我们现在系统已经开发完成了,权限是后面补充的.只需要在后台把对象id 和控制类型设置就好..模块开发人员不需要做任何事情

Archiver|普加软件

GMT+8, 2024-11-27 12:32 , Processed in 1.047378 second(s), 11 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部