Javascript onClick无法在Chrome上运行

时间:2014-06-26 02:04:22

标签: javascript html google-chrome

晚上好。

我有以下代码:

<script type="text/javascript">    
function action1() {
    var x = document.getElementById('MarcaGravadaPedra');
    x.style.display = "inline";
    document.getElementById('EstruturaSagrada').style = "display: none;"
    document.getElementById('objectosagrado').style = "display: none;"
    HideAll();
}
</script>

在html本身上,有一个表单,里面有一些按钮:

<input type="button" id="ObjectoSagradoButton" value="Objecto Sagrado" onClick="action1();"/>

虽然,此代码适用于Firefox,但不适用于IE或Chrome。我已经尝试了所有的东西,但似乎无法做到这一点。

那个按钮会显示一些div,其他则会消失。

<div id="MarcaGravadaPedra">Testing1</div>

3 个答案:

答案 0 :(得分:1)

快速。

使用onclick而不是onClick。

详细

在Chrome上按F12。将出现开发人员工具。它对Web开发人员非常有用。

现在,转到菜单,你会发现一个镜头。单击它,然后单击按钮。右键单击突出显示的文本,然后选择编辑为HTML。更改onClick per onclick并再试一次。

我不是母语为英语的人,对错误感到抱歉。

希望它有用并且有一个很好的编码之夜。

答案 1 :(得分:1)

我无法想象您的代码可以在任何浏览器中使用。您使用字符串覆盖了style对象中的几条奇数行:

document.getElementById(...).style = "display: none;"

应该是:

document.getElementById(...).style.display = "none";

或:

document.getElementById(...).setAttribute('style', 'display: none');

答案 2 :(得分:0)

此问题可能受内容安全策略的制约。如果是这样,代码不应该工作。此外,使用内联onclick是一个坏主意。请尝试使用此代码:

function action1() {
var x = document.getElementById('MarcaGravadaPedra');
x.style.display = "inline";
document.getElementById('EstruturaSagrada').style = "display: none;"
document.getElementById('objectosagrado').style = "display: none;"
HideAll();
}

document.getElementById('ObjectoSagradoButton').addEventListener('click',action1);

有关内容安全策略的更多信息,请访问此处 MDN