我替换了我的简单
<a href="#id">Get notified!</a>
在我转换到AngularJS期间调用$anchorScroll
,如Angular JS - Scrolling To An Element By Id和How to handle anchor hash linking in AngularJS
然而这已经打破了一个很好的功能。 href #id
指向输入字段。新的$anchorScroll
行为滚动到此元素但未聚焦它。
有没有办法集中注意力?如果我无法直接跳到某个字段并开始输入,它会使此功能毫无用处。 编辑:好的,有没有办法使用AngularJS。我希望尽可能远离普通的旧JS。
以下是从$anchorScroll
文档中获取的一个plunker,目标现在是一个输入字段,但滚动到它不会将其聚焦Plunker
答案 0 :(得分:1)
将此用于焦点元素:
var el = $window.document.getElementById('id');
el.focus();
Dnt忘记向控制器添加$window
服务;
答案 1 :(得分:0)
这个怎么样:
// attach an onclick event for every anchor that you have:
for ( every anchor ){
anchor.onclick = function(){
var targetID = this.getAttribute( 'href' ).replace( '#', '' ); // or something similar
var targetElem = document.getElementByID( targetID );
targetElem.focus();
}
}
注意:这只是纯粹的JS。