页面滚动到控件位置的方法

作者: admin 日期: 2016-08-15 17:19:10 人气: - 评论: 0

很多时候我们需要把页面滚动到指定控件的位置,比如校验表单是时候发现某项输入错误,需要把页面滚动到该项目的位置,一般网上看到的办法有使用jQuery的offset获得控件的位置,再操作滚动条把页面滚动到控件位置,其实通过研究jquery.validate的源码可以发现使用jQuery的focus方法可以强制页面滚动到控件位置


focusInvalid: function() {
if( this.settings.focusInvalid ) {
try {
$(this.findLastActive() || this.errorList.length && this.errorList[0].element || [])
.filter(":visible")
.focus()
// manually trigger focusin event; without it,
               // focusin handler isn't called,
               // findLastActive won't have anything to find
               .trigger("focusin");
} catch(e) {
// ignore IE throwing errors when focusing hidden elements
       }
}

}




该方法缺点:只支持带有输入焦点的控件

优点:即时控件是嵌套在一个iframe里面的浏览器也会自动滚动iframe外层的滚动条保证控件可见

相关内容

发表评论
更多 网友评论0 条评论)
暂无评论

Copyright © 2012-2014 我的代码板 Inc. 保留所有权利。

页面耗时0.0185秒, 内存占用1.82 MB, 访问数据库13次

闽ICP备15009223号-1