使用 element.focus() 未触发焦点事件侦听器上的元素
Element on focus event listener is not being triggered using element.focus()
知道为什么在这种情况下没有触发事件侦听器吗?
如果我将 focus
更改为 click
,它可以正常工作。
jsfiddle:
https://jsfiddle.net/bobbyrne01/cda3tpfq/
html:
<div id="result">
No focus.
</div>
js:
var myElement = document.createElement('myElement');
myElement.setAttribute('tabindex', -1);
myElement.addEventListener('focus', function() {
document.getElementById('result').textContent = 'Focus recieved.';
});
myElement.focus();
假设您想要更新 div 中的内部文本,这样的事情应该可行..
html:
<div id="result" tabindex="-1">no focus</div>
js:
var myElement = document.getElementById('result');
myElement.addEventListener('focus', function() {
myElement.innerText = 'Focus received.';
},true);
然后手动点击 div 聚焦或使用 myElement.focus()
知道为什么在这种情况下没有触发事件侦听器吗?
如果我将 focus
更改为 click
,它可以正常工作。
jsfiddle:
https://jsfiddle.net/bobbyrne01/cda3tpfq/
html:
<div id="result">
No focus.
</div>
js:
var myElement = document.createElement('myElement');
myElement.setAttribute('tabindex', -1);
myElement.addEventListener('focus', function() {
document.getElementById('result').textContent = 'Focus recieved.';
});
myElement.focus();
假设您想要更新 div 中的内部文本,这样的事情应该可行..
html:
<div id="result" tabindex="-1">no focus</div>
js:
var myElement = document.getElementById('result');
myElement.addEventListener('focus', function() {
myElement.innerText = 'Focus received.';
},true);
然后手动点击 div 聚焦或使用 myElement.focus()