我正在尝试使用customElements创建我自己的具有input
属性和list
元素的datalist
按钮。但是在影子dom内创建时它不起作用。
HTML:
<test-input></test-input>
Javascript:
class InputClass extends HTMLElement {
constructor() {
super();
var shadow = this.attachShadow({mode:'open'});
var input = document.createElement('INPUT');
input.type = 'text';
input.setAttribute('list', 'myList');
shadow.appendChild(input);
var datalist = document.createElement('DATALIST');
datalist.id = 'myList';
shadow.appendChild(datalist);
var option = document.createElement('OPTION');
option.value ="testValue";
option.innerHTML = "testInnerHTML";
datalist.appendChild(option);
}
}
customElements.define('test-input', InputClass);
此代码无效。但是,当我将元素input
和datalist
附加到影子dom(document.body)之外时,该功能正常工作。
/ edit:经过测试:
所以这似乎是Firefox错误?