Js 事件多次被触发的解决方案.
Js 中的有些事件: 如 onscroll , onresize , 会被多次触发,而且,不同浏览器之前触发次数可能不一致. 这个问题很烦人.
决定做一个方案出来解决所有的问题.
其实关于界面上的问题,是允许一点点时间延迟的. 比如说 500 ms ,而多次触发的事件,可以忽略时间差的. 这是基础.
先上代码
var lastTimer;
$(window).scroll(function (e) {
if (lastTimer) lastTimer.stop();
lastTimer = $.timer(500, function (timer) {
timer.stop();
ExecJsUIEvent(e);
});
});
代码很简单,原理很清晰. 在 500ms 之内产生的 Scroll 事件, 只执行第一次方法.
-----------------------------------------------------------以上方法不对.---------------------------------
使用以下方法解决:
http://blog.csdn.net/phpandjava/article/details/5860355
作者:NewSea 出处:http://newsea.cnblogs.com/
QQ,MSN:iamnewsea@hotmail.com 如无特别标记说明,均为NewSea原创,版权私有,翻载必纠。欢迎交流,转载,但要在页面明显位置给出原文连接。谢谢。 |