this._createPickerElement = function() {
this.elem = document.createElement('div');
this.elem.setAttribute("id", "myDiv");
this.elem.classList.add('vanilla-color-picker');
var _this = this;
if (className) {
this.elem.classList.add(className);
}
var currentlyChosenColorIndex = colors.indexOf(this.targetElem.dataset.vanillaPickerColor);
for (var i = 0; i < colors.length; i++) {
this.elem.innerHTML += singleColorTpl(colors[i], i + 1,
i == currentlyChosenColorIndex, noColor);
}
this.targetElem.parentNode.appendChild(this.elem);
this.elem.setAttribute('tabindex', 1);
var toFocus = currentlyChosenColorIndex > -1 ? currentlyChosenColorIndex : 0;
this.elem.children[toFocus].focus();
this.elem.children[toFocus].addEventListener('blur', this_._onFocusLost);
焦点不在IE11中工作 当我点击this.elem.children [toFocus]不点击事件时,只会模糊火焰
this.elem.children[toFocus].focus()
现在正在工作............
任何想法??
答案 0 :(得分:1)
尝试修改:
/**
* removed by edit
* this.elem.children[toFocus].select();//<-- add this line only for HTMLInuputElement
**/
this.elem.children[toFocus].focus();
编辑:
<强>快速强>
您必须通过在元素上添加tabindex来设置哪些元素可以接收FocusEvent。
if( ! this.elem.children[toFocus].tabindex )
this.elem.children[toFocus].tabindex = -1; // -1 to let the browser determining the order
长:
tabindex内容属性允许作者控制元素是否应该是可聚焦的,是否应该使用顺序焦点导航可以到达,以及为了顺序焦点导航的目的,元素的相对顺序是什么。名称“tab index”来自“tab”键的常用用途,用于浏览可聚焦元素。术语“标签”指的是向前移动可通过顺序焦点导航到达的可聚焦元素。
tabindex属性(如果已指定)必须具有有效整数值。
每个元素都可以设置tabindex焦点标志,如下所述。该标志是有助于确定元素是否可聚焦的因素,如下一节所述。
您可以在这里阅读更多内容: