解决方法
一个选项是暂时将overflow属性设置为隐藏在body上,这样可以摆脱滚动条,但是当页面被调整时会导致一个小的闪烁。
另一个选择是点击$(window).scroll()事件,并从那里返回false。这也会导致一点闪烁,因为浏览器不会对返回false语句做出快速反应。
你最好的办法是将你的点击事件处理程序移动到一个单独的文件,并在那里进行绑定:
$(function() { $('.emailPost').click(function() { $(window).scroll(function() { return false; }); pageTracker._trackPageview('/onclick/emailquote'); }); });
这样可以防止页面滚动。记住在对话框关闭后删除绑定,否则页面将无法滚动!您可以使用以下方式删除绑定:
$(window).unbind('scroll');