以下有什么区别?
$(document).on("scroll",".wrapper1", function(){
$(".wrapper2")
.scrollLeft($(".wrapper1").scrollLeft());
});
$('.wrapper1').on("scroll", function(){
$(".wrapper2")
.scrollLeft($(".wrapper1").scrollLeft());
});
Run Code Online (Sandbox Code Playgroud)
什么时候应该准确使用每个功能?
这两者之间的区别是
$('.wrapper1').on("scroll", ....)将scroll事件绑定到仅在执行此语句时出现的那些元素,即如果在执行此语句wrapper1后动态添加任何带有类的新元素,则不会为这些元素执行事件处理程序.
$(document).on("scroll",".wrapper1", ...)另一方面,将向document对象注册一个事件处理程序,并且只要在具有类`wrapper``的元素内发生滚动,就会利用事件冒泡来调用处理程序,因此它将支持动态添加元素.
所以什么时候喜欢一种方法
如果您只有有限数量的元素并且它们不是动态添加的,那么您可以选择第一种方法
如果你有很多元素或者动态添加这些元素,则首选第二种方法.