javascript - JS中function (e) { //code }中的 “e”
天蓬老师
天蓬老师 2017-04-10 13:12:24
0
1
1820

我知道这个e(event)中包含:stopPropagation,preventDefault,offset等等,看了ppk的几篇文章个人理解是e会保存浏览器中最后发生的事件(理解不对请指正)。

现在遇到的问题可能有点超出关于“e”本身的范围了,先说逻辑:id为btn的元素被点击-> 删除掉#btn元素 -> id为anotherBtn的元素被点击

看代码:

    $('#btn').on('click', function (e) {
        //获取#btn元素
        console.log($(e.target)); //output: [button#btn, context:...]

        //获取#btn前的元素
        console.log($(e.target).prev()); //output: [span, context:...]

        //移除#btn
        $(this).remove();

        $('#anotherBtn').one('click', function () {
            //获取#btn元素
            console.log($(e.target)); //output: [button#btn, context:...]

            //获取#btn前的元素
            console.log($(e.target).prev()); //output: [prevObject: b.fn.b.init[1], context:...]
        });
    });

也就是说虽然元素被移除了,但是还是e.target还是把它保存了下来(类似一个快照?),这是什么原理呢?

感谢任何有价值的回答!

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全部回覆(1)
迷茫
var i = true
!function(o){
    i = !i
    console.log(o)
}(i)
console.log(i)

别把问题想的太复杂 ^_^

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板