适用于chrome,但不适用于Firefox,Eventlistener,appendChild和style.backgroundColor

梅佐


我玩过js,试图让用户选择背景色。我的脚本首先将数组中的所有颜色显示为div加一个按钮,然后您可以单击一个按钮以将该颜色应用为背景色。
它适用于我的Chrome浏览器,但不适用于Firefox。我犯了个大错误吗?

<html>
<head><meta charset=utf-8></head>
<body onload="always()" id="body">
</body>
<script>
all_colors = ["#FFFF00","#FF00FF","#00B3FF",]

function always(){  
    for  (i=0; i< all_colors.length; i++){  
        var e = document.createElement("div"); 
        e.id="box"+(i);
        e.style.backgroundColor = all_colors[i];
        document.getElementById("body").appendChild(e);
        var btn = document.createElement("BUTTON");
        btn.id = (i);
        var t = document.createTextNode(i);
        btn.appendChild(t);         
        e.appendChild(btn);         
    }
}  
document.addEventListener("click",function(){myfunc()})

function myfunc(){
    var el=document.activeElement;
    var i=el.id;
    choose_bg(i);
}

function choose_bg(i){
    document.getElementById("body").style.backgroundColor = all_colors[i]
}

</script>
</html>

经过一些测试后,问题可能出在“ actve Element”上,它在Chrome中正常运行,但在FF或Safari中无法正常运行。顺便说一句,我正在使用Mac,在我的Android FF上可以正常工作!也许有人知道解决方案...

销售点

或者,如果您怀疑FF版本中存在错误,则可以尝试使用以下代码来避免调用“ activeElement”:

<html>
<head><meta charset=utf-8></head>
<body onload="always()" id="body">
</body>
<script>
all_colors = ["#FFFF00","#FF00FF","#00B3FF",]

function always(){  
    for  (i=0; i< all_colors.length; i++){  
        var e = document.createElement("div"); 
        e.id="box"+(i);
        e.style.backgroundColor = all_colors[i];
        document.getElementById("body").appendChild(e);
        var btn = document.createElement("BUTTON");
        btn.id = (i);

        btn.addEventListener("click", myfunc);

        var t = document.createTextNode(i);
        btn.appendChild(t);
        e.appendChild(btn);
    }
}  

function myfunc(event){
    var eventSource = event.target || event.srcElement;
    var i = eventSource.id;
    choose_bg(i);
}

function choose_bg(i){
    document.getElementById("body").style.backgroundColor = all_colors[i]
}

</script>
</html>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

document.body.style.backgroundColor不适用于外部CSS样式表

来自分类Dev

A-Frame appendChild 适用于 Firefox,但不适用于 Chrome

来自分类Dev

jQuery touch Punch适用于Chrome和Firefox,但不适用于IE

来自分类Dev

jQuery touch Punch适用于Chrome和Firefox,但不适用于IE

来自分类Dev

JS适用于Firefox和Safari,但不适用于Chrome。这是我的网站

来自分类Dev

单击切换适用于 Chrome 和 Safari 但不适用于 Firefox?

来自分类Dev

JavaScript适用于Chrome,但不适用于Firefox

来自分类Dev

JScript Button适用于Chrome,但不适用于Firefox

来自分类Dev

HTML呈现问题-适用于Mozilla Firefox,但不适用于Google Chrome

来自分类Dev

内对焦适用于chrome,但不适用于Firefox

来自分类Dev

CSS规则适用于IE,但不适用于Chrome / Firefox

来自分类Dev

JS适用于Chrome,但不适用于Firefox

来自分类Dev

JS适用于Chrome,但不适用于Firefox

来自分类Dev

D3强制布局适用于Chrome,但不适用于Firefox

来自分类Dev

JavaScript适用于Chrome,但不适用于Firefox

来自分类Dev

HTML呈现问题-适用于Mozilla Firefox,但不适用于Google Chrome

来自分类Dev

jQuery适用于Chrome和Safari,但不能适用于Firefox或IE?

来自分类Dev

jQuery Javascript仅适用于chrome和firefox,不适用于IE

来自分类Dev

表格中网址的自动换行适用于chrome和safari,不适用于Firefox

来自分类Dev

Microsoft Sitka字体不适用于Chrome和Firefox

来自分类Dev

表单验证不适用于Chrome和Firefox

来自分类Dev

测试适用于“ $ f”,但不适用于“ $ @”

来自分类Dev

适用于 PHP 但不适用于脚本

来自分类Dev

AppendChild 不适用于 textcontent (javascript)

来自分类Dev

适用于iMacros的Firefox和Chrome

来自分类Dev

EventListener不适用于克隆

来自分类Dev

我的style.css适用于前端,但不适用于管理区域

来自分类Dev

动态填充下拉列表的Ajax调用适用于FF,但不适用于Chrome和IE

来自分类Dev

媒体查询适用于Chrome,但不适用于移动设备

Related 相关文章

  1. 1

    document.body.style.backgroundColor不适用于外部CSS样式表

  2. 2

    A-Frame appendChild 适用于 Firefox,但不适用于 Chrome

  3. 3

    jQuery touch Punch适用于Chrome和Firefox,但不适用于IE

  4. 4

    jQuery touch Punch适用于Chrome和Firefox,但不适用于IE

  5. 5

    JS适用于Firefox和Safari,但不适用于Chrome。这是我的网站

  6. 6

    单击切换适用于 Chrome 和 Safari 但不适用于 Firefox?

  7. 7

    JavaScript适用于Chrome,但不适用于Firefox

  8. 8

    JScript Button适用于Chrome,但不适用于Firefox

  9. 9

    HTML呈现问题-适用于Mozilla Firefox,但不适用于Google Chrome

  10. 10

    内对焦适用于chrome,但不适用于Firefox

  11. 11

    CSS规则适用于IE,但不适用于Chrome / Firefox

  12. 12

    JS适用于Chrome,但不适用于Firefox

  13. 13

    JS适用于Chrome,但不适用于Firefox

  14. 14

    D3强制布局适用于Chrome,但不适用于Firefox

  15. 15

    JavaScript适用于Chrome,但不适用于Firefox

  16. 16

    HTML呈现问题-适用于Mozilla Firefox,但不适用于Google Chrome

  17. 17

    jQuery适用于Chrome和Safari,但不能适用于Firefox或IE?

  18. 18

    jQuery Javascript仅适用于chrome和firefox,不适用于IE

  19. 19

    表格中网址的自动换行适用于chrome和safari,不适用于Firefox

  20. 20

    Microsoft Sitka字体不适用于Chrome和Firefox

  21. 21

    表单验证不适用于Chrome和Firefox

  22. 22

    测试适用于“ $ f”,但不适用于“ $ @”

  23. 23

    适用于 PHP 但不适用于脚本

  24. 24

    AppendChild 不适用于 textcontent (javascript)

  25. 25

    适用于iMacros的Firefox和Chrome

  26. 26

    EventListener不适用于克隆

  27. 27

    我的style.css适用于前端,但不适用于管理区域

  28. 28

    动态填充下拉列表的Ajax调用适用于FF,但不适用于Chrome和IE

  29. 29

    媒体查询适用于Chrome,但不适用于移动设备

热门标签

归档