zepto绑定事件改变冒泡事件流

如果你写 zepto操作 DOM元素不多,肯定不会认为它会改变冒泡事件流。

Zepto 的事件委托是:

在代码解析的时候,所有document的所有 click 委托事件都依次放入一个队列里,click 的时候先看当前元素是不是.a,符合就执行,然后查看是不是.b,符合就执行。

话不多说,直接看案列:

A
B
C
D
   

先输出c,再输出d。而不是我们理解的冒泡事件,原因也是因为委托事件都依次放入一个队列里,谁在前面谁先执行。

再看几个案列:一

    $(function(){
         $('.a').on('click','.d', function(event) {
                console.log('a on d');
            });
        $('.a').on('click', '.c', function(event) {
            console.log('a on c');
        });
    });

以上代码??就是先输出d,再输出c了。原因就是因为队列。

再看几个案列:二

       $('.c').on('click', function(event) {
                console.log('a on c');
            });
        $('.d').on('click',function(event) {
            console.log('a on d');
        });

以上代码??就是先输出d,再输出c了。原因就是因为直接bind不影响

你可能感兴趣的:(javascript)