DWZ的表格行单击或者双击事件

根据网上查到的进行的编写;

网上的资料还是对的; 下面是一个双击的事件例子,是网上提供的,未测试如下; 

table表格 样式 table和 list 分别  在dwz.stable.js和 dwz.csstable.js文件中
找到 $tr.click(function()  在后加 添加 代码

  1. $tr.dblclick(function(){                                        
  2. dbltable($tr.attr(”target”),$tr.attr(”rel”));
  3. });

复制代码

开表格页面 定义 dbltable

  1. <script type=”text/javascript”>
  2. function dbltable(target,rel){
  3. if( target == ‘rid’){
  4. $.pdialog.open(”customers/report.php?action=view&rid=”+rel,”pdialogid”, “标题”, { max:true, mask:false, width: 500, height: 300});

  5. }
  6. </script>

复制代码

在表格代码中有这样一段
<tr target=”rid” rel=”2″> dbltable 中传入的正是这 target 和rel的值  

target 我用来做面页判断以免在其它  页面也出现双击事件 不同的页面用不同的 target


根据上面,我要处理单击事件,基本是一一致的:

原来的dwz中有click事件了;

在对应的function中 ,我们可以直接加一行 :

myClicktable($tr.attr("target"),$tr.attr("rel"));   这样就可以了;

在我们的界面中就可以进自定义了,不过这样的话 会在所有的有table的节目中 ,都可以调用; 

当然如果在每个界面中定义的不一致就可以调用不用的myClicktable的事件了;


====================================================================================================

在如上的具体的使用中,发现了一个问题,不知道是我写的有问题还是啥,如上我们定义了一个dwz表格的单击事件; 

例如要调用myClicktable方法; 

该方法在每个jsp中进行调用; 我们认为这样可以对每个不同的表格中的具体的业务进行具体的操作;  但是这样写了以后,出现了这么一个问题; 

就是如果我们同时打开 多个界面,多个tab的样式进行打开,每个里面都有自定义的myClicktable方法; 发现使用的方法给串; 

就是这个界面的单击事件,用到了另外一个界面,另外一个界面中的单击事件,没法用; 乱套; 即使我用target进行if判断也不行;  

我是这么处理了一下,是好使的 : 

主要的想法就是那个每个界面的单击事件的方法不一样就可以了;  

1  在dwz.cssTable.js 和dwz.stable.js中 ,反正我俩个都写了, 

定义这么一个方法,我直接丢到了js的最下面;  

//这个方法做了一些操作、然后调用回调函数    
function doCallbackForTbl(fn,args)    
{    
    fn.apply(this, args);  
}   


2  还是在表格的单击事件中 ,调用刚才定义的方法; 

if(sTarget) {
 //动态调用方法、并传递参数    
doCallbackForTbl(eval(sTarget+"_Clik"),[sTarget,$tr.attr("rel")]);    
}

如上,我是使用target_Clik的定义来制定 每个界面中的单击的方法名称;  

这样只要我们每个界面的target定义成不一样的就可以了,

这样每个界面的单击事件是调用的不用的方法; 这样就互不干涉了;  有问题再补充







你可能感兴趣的:(DWZ的表格行单击或者双击事件)