2

我是 javascript 和堆栈溢出的新手,只是想知道这是否是将按钮 onclick 中的内容替换到另一个页面的正确方法?因为它不适用于我的情况。这是我的代码:

javascript:

function newpage(){
    var oldHTML = document.getElementById('cambtn').onclick;
    var newHTML = "window.location='http://curv.info";
    document.getElementById('cambtn').onclick = newHTML;
}

html:

<button name="cambtn" onclick="camera();"><img id="camicon" src="Glitcher-03.png" alt="Camera" width="120" style="position:absolute; left:50px; top:50px;"></button>
<button name="btn" onclick="newpage()"></button>
4

4 回答 4

1

一般的做法:

JS:

function newPage(){
    document.getElementById("cambtn").onclick=function(){
      window.location.assign("http://curv.info");
    };
}

HTML:

<button id="cambtn">...</button>
<button onclick="newPage();">Go</button>
于 2012-11-22T04:38:45.857 回答
0

如果 iframe 是一个选项,您可以执行以下操作:

<html>
<head>
    <title></title>
    <meta charset="UTF-8" />
    <style>
    #page{width:600px;height:400px;margin:0 auto;}
    </style>
    <script type="text/javascript">
    function oldhtml() { 
        document.getElementById("page").innerHTML = "<iframe src'http://www.google.com'></iframe>"  //loads html from another page

        }
   function newhtml() {
    document.getElementById("page").innerHTML = "<div style='width:100px;height:100px;background:black;color:#fff;'>NEW HTML</div>";  //loads static html 
   }
   </script>
</head>
<body>

</body>
    <button id="old" onclick="oldhtml()">Old HTML</button><br><br>
    <button id="new" onclick="newhtml()">NEW HTML</button>
    <div id="page"></div>
</html>
于 2012-11-22T07:01:25.753 回答
0

onclick虽然您可以使用简单的字符串 ( )将元素设置为 HTML 属性onclick="somecode",但您不能使用 JavaScript 执行相同的操作。相反,您应该创建一些执行您想要的功能,并将该功能设置为onclick属性:

function f() { somecode }
document.getElementById("someid").onclick = f
于 2012-11-22T04:42:06.103 回答
0
<button id="cambtn" onclick="camera();"><img ...></button>
<button id="btn">Button</button>

document.getElementById("btn").addEventListener("click", function(){
    document.getElementById("cambtn").onclick = function(){
        location.href = "http://curv.info";
    });
});
于 2012-11-22T04:43:02.380 回答