2017-12-07 13 views
0

Jede Idee, warum der Ereignis-Listener in diesem Fall nicht anspringen?Element auf Fokus-Ereignis-Listener nicht ausgelöst wird, mit element.focus()

Wenn ich focus-click ändern, es funktioniert gut.

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(); 
+0

Ihr erstellt Element zu konzentrieren oder verwenden Sie ist nicht Teil des DOM, und Es ist kein interaktives Element. – Pointy

+0

@Pointy "es ist kein interaktives Element.", Können Sie das näher erläutern? – bobbyrne01

+0

Ändern 'Fokus' zu' Klick', es funktioniert gut .. warum? – bobbyrne01

Antwort

0

Vorausgesetzt, dass Sie den Text um die div aktualisieren möchten, so etwas wie dies funktionieren sollte ..

html:

<div id="result" tabindex="-1">no focus</div> 

js:

var myElement = document.getElementById('result'); 
myElement.addEventListener('focus', function() { 
    myElement.innerText = 'Focus received.'; 
},true); 

Dann klicken Sie entweder manuell auf dem div myElement.focus()

+0

hast du deinen Code getestet? kein funktionaler Unterschied zu meinem Code versucht – bobbyrne01

+0

leider jetzt - es ist das ‚tabindex‘ -Attribut –

+0

ok unterschiedlicher Anwendungsfall fehlte, Du das Element nicht zu schaffen, wie ich – bobbyrne01

Verwandte Themen