Javascript 为什么像下拉菜单这样的自定义元素在Mozilla中不能正常工作?
我创建了与下拉菜单功能相同的自定义元素。它在Chrome中正常工作,但在Mozilla中不工作。当我单击下拉箭头时,下拉菜单中的项目不会显示。那么解决方案是什么 这是我的密码:Javascript 为什么像下拉菜单这样的自定义元素在Mozilla中不能正常工作?,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我创建了与下拉菜单功能相同的自定义元素。它在Chrome中正常工作,但在Mozilla中不工作。当我单击下拉箭头时,下拉菜单中的项目不会显示。那么解决方案是什么 这是我的密码: **html code** <button is="my-dropdown">Demo Dropdown <dropdown-header> Title </dropdown-header> <dropdown-option>Option 1</dr
**html code**
<button is="my-dropdown">Demo Dropdown
<dropdown-header> Title </dropdown-header>
<dropdown-option>Option 1</dropdown-option>
<my-separator></my-separator>
<dropdown-option>Option 2</dropdown-option>
</button>
** JS code**
var dropdownProto = Object.create(HTMLElement.prototype);
dropdownProto.createdCallback = function(){
$('.dropdown-toggle').dropdown();
var output = '';
for(var i=0;i<this.childNodes.length;i++){
switch(this.childNodes[i].nodeName){
case 'DROPDOWN-OPTION':
output += '<li>'+this.childNodes[i].innerHTML+'</li>';
break
case 'MY-SEPARATOR':
output += '<li class="divider" role="separator">'+this.childNodes[i].innerHTML+'</li>';
break;
case 'DROPDOWN-HEADER':
output += '<li class="dropdown-header">'+this.childNodes[i].innerHTML+'</li>';
break;
}
}
this.innerHTML = icon+this.innerHTML+'<a href="#-" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false"> <span class="caret"></span></a>';
var dropdownList = document.createElement('ul');
dropdownList.className = 'dropdown-menu';
dropdownList.innerHTML = output;
this.appendChild(dropdownList);
};
var myDropdown = document.registerElement('my-dropdown',{prototype:dropdownProto,extends:'button'});
//Dropdown Header
var DropDownHeaderProto = Object.create(HTMLElement.prototype);
DropDownHeaderProto.createdCallback = function(){
this.remove();
};
var dropdownHeader = document.registerElement('dropdown-header',{prototype:DropDownHeaderProto});
//Dropdown Options
var dropdownOptionProto = Object.create(HTMLElement.prototype);
dropdownOptionProto.createdCallback = function(){
this.remove();
};
var dropdownOption = document.registerElement('dropdown-option',{prototype:dropdownOptionProto});
//Seperator for Dropdown
var separatorProto = Object.create(HTMLElement.prototype);
separatorProto.createdCallback = function(){
this.className = 'devider';
this.remove();
};
var Seperator = document.registerElement('my-separator',{prototype:separatorProto});
**html代码**
演示下拉列表
标题
选择1
选择2
**JS代码**
var dropdownProto=Object.create(HTMLElement.prototype);
dropdownProto.createdCallback=函数(){
$('.dropdown toggle').dropdown();
var输出=“”;
对于(var i=0;我能显示您的代码吗?请参考此链接。希望它能帮助您。()谢谢,但它仍然不起作用