非嵌入式点击行,选中改行

分享 未结 1 102
Hide
Hide 2019-8-29
悬赏:20飞吻
为了方(tou)便(lan),直接使用官网运行代码



  //监听头工具栏事件
var clickCnt=0;
table.on('row(test)', function(obj){
clickCnt++;
if(clickCnt>1){
setTimeout(function(){clickCnt=0;},10);
return;
}
$("td:eq(0) .layui-icon",obj.tr).click();
});
代码详解:
步骤1. 已知有行点击事件,点击行,找到第一栏中的选择框,点击触发选择此行
步骤2. 因为点击选则框也会触发点击事件,这样会导致递归(进入死循环)
步骤3. 这个时候我们灵机一动,申明一个变量,clickCnt,为防止瞬间触发大量的点击事件,我们控制瞬间点击超过2下以上的的,就阻止事件,并延时重置clickCnt

用途:单选 radio点击行,选中当前数据
【用于多选(checkbox)会出现点击勾选框无法勾选的情况,这个是因为冒泡事件引起的,点击勾选框,又触发行点击事件,还要写一个阻止冒泡事件懒得写了】

结束,深藏功与名[哈哈]
回帖