Javascript document.getElementById(“box”).focus()不关注元素
看看是否有人能帮我找出我的元素没有聚焦的原因 我正在使用RiotJS事件和标记。但我不认为这个问题与Riot有关,因为我在DOM和纯JS上尝试了一个元素,但仍然不起作用 在控制台中,当我请求Javascript document.getElementById(“box”).focus()不关注元素,javascript,html,focus,dom-events,riot.js,Javascript,Html,Focus,Dom Events,Riot.js,看看是否有人能帮我找出我的元素没有聚焦的原因 我正在使用RiotJS事件和标记。但我不认为这个问题与Riot有关,因为我在DOM和纯JS上尝试了一个元素,但仍然不起作用 在控制台中,当我请求document.activeElement时,它会给我,但它没有聚焦 更奇怪的是,我制作了一个onblur函数,它将重点放在了onblur元素上,并且工作正常!但是当我尝试将它绑定到click[以便通过app.search.box.click();]触发它时,它不起作用 我在谷歌上搜索了很多,并尝试了很多关
document.activeElement
时,它会给我
,但它没有聚焦
更奇怪的是,我制作了一个onblur
函数,它将重点放在了onblur元素上,并且工作正常!但是当我尝试将它绑定到click[以便通过app.search.box.click();
]触发它时,它不起作用
我在谷歌上搜索了很多,并尝试了很多关于如何使用纯JS的建议
我在OSX约塞米蒂。使用最新的Chrome、Firefox和Safari。什么都不走运。请告知
这是我的search.tag
code:
<search>
<a href="javascript:void(0)" id="close" onclick={ close }><i class="fa-remove fa"></i></a>
<div class="elements">
<input tabindex="0" id="box" type="text" placeholder="Search things" onkeyup={ search } onclick={ focusBox } />
<span id="loading" class="hide"><i class="fa fa-gear fa-spin"></i></span>
<a id="searchButton" href="javascript:void(0)" name="search">
<i class="fa fa-arrow-right"></i>
</a>
</div>
<script>
this.search = function(event) {
app.search.trigger('search', event, box.value);
}
this.close = function(event) {
app.search.trigger('close');
}
this.focusBox = function(event){
var element = event.target || event.srcElement;
window.setTimeout(function() {element.focus()}, 1000);
}
</script>
</search>
除非我误解了你的目标,否则它在这里似乎工作得很好:单击输入,然后单击输出,结果输入在1秒后重新获得焦点。你想在页面加载时立即聚焦吗?在某个事件之后,例如:打开模式,或打开非画布导航。
search.open = function(event) {
search.container.classList.remove('hide');
search.container.classList.remove('closed');
search.box.focus();
}