IE, klicken Sie auf Kind nicht konzentrieren, Elternteil, Elternteil hat tabindex=0

BEARBEITEN:
Siehe meine Antwort unten: https://stackoverflow.com/a/25953721/674863

Demo:
http://jsfiddle.net/fergal_doyle/anXM3/1/

Ich habe ein div-Element mit tabindex=0, und ein Kind div mit einer festen Breite. Wenn ich auf das untergeordnete div ich erwarte, dass der äußere div-Element zu erhalten konzentrieren. Dies funktioniert gut mit Firefox und Chrome, funktioniert nur mit Internet Explorer (7 bis 10), wenn das Kind der div keine Breite angewendet.

Mit einer Breite, auf die das Kind (weiß) div nicht geben Sie den Fokus auf das äußere ein, und wenn die äußeren, die zuvor den Fokus hatte, auf das Kind bewirkt, dass die äußere Unschärfe, das ist ein Schmerz für das, was ich tun will.

HTML:

<div tabindex="0" id="test">
    <div>Click</div>
</div> 

CSS:

div {
    border:1px solid #000;
    padding:20px;
    background-color:red;
}
div div {
    padding:8px;
    background-color:#FFF;
    cursor:default;
    width:200px;
}

JS:

var $div = $("#test"),
    $inner = $("#test > div");

$div.on("blur", function (e) {
    console.log("blur");
})
    .on("focus", function (e) {
    console.log("focus")
});
  • Auch worst-case-Szenario, können Sie immer definieren Sie einige code für den IE nur, um zu arbeiten, um dieses Verhalten
InformationsquelleAutor Fergal | 2013-08-15
Schreibe einen Kommentar