我知道这个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还是把它保存了下来(类似一个快照?),这是什么原理呢?
感谢任何有价值的回答!
别把问题想的太复杂 ^_^