首页 新闻 会员 周边 捐助

$(document).on()的回调函数

0
悬赏园豆:5 [已解决问题] 解决于 2018-10-22 18:49
$.fn.onContentLoad = function (fun) {
    debugger;
    if ($(this).live().length != 0) {
        $(document).off("onContentLoad", "#"+$(this).live()[0].id);
        $(document).on("onContentLoad", "#"+$(this).live()[0].id, fun);
        //$(document).undelegate($(this).live()[0].id, "onContentLoad");
        //$(document).delegate($(this).live()[0].id, "onContentLoad", fun);
    } else
    {
        $(document).undelegate($(this).selector, "onContentLoad");
        $(document).delegate($(this).selector, "onContentLoad", fun);
    }
    //$(document).off("onContentLoad", "#div-datatable-monitoringrecord");
    //$(document).on("onContentLoad", $(this).escapeSelector(), fun);
};

我写了这样一个回调函数,可是当代码执行到

  $('#div-datatable-id').onContentLoad(function (e) {
        console.log(2);
 });

它就无论如何都不进去里面的方法,跪求大神是我哪里写错了吗?

临冰听雪丶的主页 临冰听雪丶 | 初学一级 | 园豆:175
提问于:2018-10-19 11:53

有实际的运行环境吗? 比如说 页面之类的。。 光点东西 很难判断呀;
随带说一句 live的兼容性 不是很好 。。。

blurs 6年前

@blurs: $(this).selector 这个取不到值,才想到了用live。有啊,就是录用jq去加载一个table,table加载的时候用了一个回调函数。然而却怎么不进回调的方法。。。

临冰听雪丶 6年前
< >
分享
最佳答案
0

浏览器f12调试一下。

收获园豆:3
徒然喜欢你 | 小虾三级 |园豆:1741 | 2018-10-19 14:56

调试发现没有进入方法内部,而且也没有抱任何的错。之前用的是jq1.7,现在升级成了3.3.我不知道是不是因为不兼容什么的问题。。。

临冰听雪丶 | 园豆:175 (初学一级) | 2018-10-19 14:57

@临冰听雪丶: 加alert调试不进那一步吗,把id名字换一下试试

徒然喜欢你 | 园豆:1741 (小虾三级) | 2018-10-19 15:05

@徒然喜欢你: id换了也依然不行,console.log(2); 打印不出来

临冰听雪丶 | 园豆:175 (初学一级) | 2018-10-19 15:08
其他回答(2)
0

..如果是 $(this).selector获取不到的话 是肯定的。。 你可以换成ths.selector 看看能不能获取到
随带一体 会打断点么

收获园豆:2
blurs | 园豆:660 (小虾三级) | 2018-10-19 18:05

还有 onContentLoad 有这个事件吗? 可能是我见识有限 不知道jq还有这个事件 不过 可能是我不怎么用jq的原因吧

支持(0) 反对(0) blurs | 园豆:660 (小虾三级) | 2018-10-19 18:07

一样获取不到。肯定会啊。。。

支持(0) 反对(0) 临冰听雪丶 | 园豆:175 (初学一级) | 2018-10-19 18:13
0

换了table插件,取消回调的使用, 感觉应该不是回调出的问题

临冰听雪丶 | 园豆:175 (初学一级) | 2018-10-22 18:49
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册