【问题标题】:What's the define difference between click and scroll events?单击和滚动事件之间的定义区别是什么?
【发布时间】:2014-04-01 09:46:12
【问题描述】:

我缺少代码:

<div class="tab-pane fade active in" id="selected-log">
    <nav role="navigation" class="navbar navbar-default navbar-static-top"></nav>
    <div style="overflow:auto; max-height:200px;"></div>
</div>

当我像这样定义点击时一切正常:

jQuery('#selected-log').on('click', 'div', function() {
    console.log('click');
});

但是当我尝试像这样在滚动上获取事件时,什么也没有发生:

jQuery('#selected-log').on('scroll', 'div', function() {
    console.log('scroll');
});

那么定义点击和滚动之间有什么主要区别吗?

【问题讨论】:

  • @A.Wolff:你可以...看到这个stackoverflow.com/a/10625116/1719752
  • @MilindAnantwar 不知道我在想什么,谢谢输入
  • @MilindAnantwar 但似乎不起作用,检查后又一次,SPEC 说 onscroll 事件没有冒泡更新:jsfiddle.net/96EWU 不起作用
  • @A.Wolff: 是不是这样就不会为 dom 元素冒泡并为文档工作

标签: jquery


【解决方案1】:

您使用 .on() 进行滚动的代码不起作用,因为滚动事件不会在 DOM 树中冒泡:

http://www.quirksmode.org/dom/events/scroll.html#t03

【讨论】:

  • jQuery('#selected-log').find('div').on('scroll', function() 工作正常
  • 你在问题​​中的代码是应用event delegation不正常.scroll()方法
猜你喜欢
  • 2011-07-12
  • 2012-09-07
  • 2016-05-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-16
相关资源
最近更新 更多