同时打印所有孩子的所有事件和事件处理程序

时间:2014-06-06 14:05:08

标签: javascript jquery jquery-mobile

当用户点击导航时,我有一个拦截任务。有一个增强的导航控制'用jquery mobile。整件事情是一团糟(单击导航时会触发多个事件)我试图找到哪个元素触发了什么。我正在考虑编写接受jquery选择器的函数,并递归遍历所有子项并打印出所有事件和事件处理程序(console.log($(elem).data('events');)。
你们中有没有人有这个脚本吗?

1 个答案:

答案 0 :(得分:1)

自己完成。

var printOutEvents = function (selector) {
    var parent = $(selector);

    function printer(item) {
        if (item.data('events') != undefined) {
            console.log(item);
            console.log(item.data('events'));
        }
        if (item.children().length > 0) {
            $.each(item.children(),
                function (i, it) {
                    printer($(it));
                });
        }
    };
    printer(parent);
}