表格单选框 监听事件 会执行两次

提问 未结 5 80
咸鱼大翻身
悬赏:20飞吻
版本:layui 浏览器:
点击一行数据,自动单选,但是为什么会执行两次? 我请求接口,也会请求两次,这个怎么解决?

<table class="layui-hide" id="datalist" lay-filter="datalist" style="height: 500px;"></table>

layui.use(['layer','form','table','laydate','element'],function(){

var table = layui.table;
var form = layui.form;
$ = layui.jquery;

table.on('row(datalist)',function(obj){

obj.tr.find("div.layui-unselect.layui-form-radio")[1].click();

console.log(111);

});

回帖
  • 检查下是不是引入了两份js
    0 回复
  • @SakuraAndErin 没有,我是html和js混编。
    obj.tr.find("div.layui-unselect.layui-form-radio")[1].click();
    我总觉得 这个 click 又把监听重新执行一次,我对前端不熟,不知道怎么排查。
    0 回复
  • 可能是,.click()会触发被选元素的事件. 你可以直接对第一个单选,设置属性进行,不用这样触发,或者用var layEvent = obj.event; //获得 lay-event 对应的值,去限制下某个框触发监听事件直接跳过
    0 回复
  • @SakuraAndErin 呃,不太会,我试试。
    obj.tr.find("div.layui-unselect.layui-form-radio")[1].click(); 这个是因为单选 一行数据,不管点击哪里,都可以 选中这行数据。。 如果没有这条语句, 单选框,就只能单选。
    0 回复
  • @SakuraAndErin 单选框,就只能 点击 最前面的 框框。。 不能点击一行数据的 任意位置,就能选中。
    0 回复