如何在默认事件发生后执行我自己的代码?

时间:2012-08-04 11:29:42

标签: javascript jquery

是否有一个函数可以在默认事件发生后执行一些代码? 例如,我想在默认鼠标滚轮发生后获取scrollTop值。 可以jquery或javascript为我做这个吗?

4 个答案:

答案 0 :(得分:2)

jQuery中有很多种事件处理程序。您可以使用.scroll()来响应滚动事件。 Full list of events [handlers]

$(window).scroll(function() {
  alert('scrolled!');
});

scroll()

  

只要元素的滚动位置发生变化,就会发送滚动事件,   不管原因。鼠标单击或拖动滚动条,   拖动元素内部,按箭头键或使用   鼠标的滚轮可能会导致此事件。

答案 1 :(得分:1)

​$(document)​.on('mousewheel DOMMouseScroll', function() {
    var top = $(this).scrollTop();
    console.log(top);
})​;​

FIDDLE

答案 2 :(得分:1)

鼠标轮处理可能会有点痛苦。您应该尝试使用jQuery Mousewheel插件。

布兰登·亚伦(Brandon Aaron)过去为我做得很好。

答案 3 :(得分:0)

我正在使用Brandon Aaron的jquery.mousewheel.js来附加这样的事件:

$('#mydiv').mousewheel(function(event, delta, deltaX, deltaY) { alert(deltaY); }); 

您可以从https://github.com/brandonaaron/jquery-mousewheel/downloads

下载