Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/376.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么像下拉菜单这样的自定义元素在Mozilla中不能正常工作?_Javascript_Jquery_Html_Css - Fatal编程技术网

Javascript 为什么像下拉菜单这样的自定义元素在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

我创建了与下拉菜单功能相同的自定义元素。它在Chrome中正常工作,但在Mozilla中不工作。当我单击下拉箭头时,下拉菜单中的项目不会显示。那么解决方案是什么

这是我的密码:

**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;我能显示您的代码吗?请参考此链接。希望它能帮助您。()谢谢,但它仍然不起作用