1

我正在使用以下代码:

    <%@ Master Language="C#" AutoEventWireup="true" CodeBehind="Site1.master.cs" Inherits="WebApplication3.Site1" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <link href="style.css" rel="stylesheet" />
    <script type="text/javascript">

        function change(color) {
            document.bgColor = color;
        }

    </script>
    <asp:ContentPlaceHolder ID="head" runat="server">
    </asp:ContentPlaceHolder>
</head>
<body>
    <form id="form1" runat="server">

        <p>&nbsp;</p>
        <div class="green">
            <div id="slatenav">
                <ul>
                    <li><a href="WebForm3.aspx" id="green" onclick="change('green')">Home</a></li>
                    <li><a href="WebForm4.aspx"  id="red" onclick="change('red')">About Us</a></li>
                </ul>
            </div>
        </div>
        <div>
            <asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">
            </asp:ContentPlaceHolder>
        </div>
    </form>
</body>
</html>

为什么它不能正常工作?

4

2 回答 2

3

虽然您不应该使用document.bgColor,但它仍然可以工作。问题不在于 - 而是您将它与取消 javascript 的链接一起使用(链接正在加载新页面)。

试试这个:

<script type="text/javascript">
     function change(color) {
     document.bgColor = color;
     return false;
     }
</script>
<div id="slatenav">
    <ul>
        <li><a href="WebForm3.aspx" id="green" onclick="return change('green');">Home</a></li>
        <li><a href="WebForm4.aspx"  id="red" onclick="return change('red');">About Us</a></li>
    </ul>
</div>

样品小提琴

它不会加载新页面,但Javascript会启动。正如其他人所建议的那样,使用document.body.style.backgroundColor.

于 2013-03-26T01:24:06.713 回答
1

document.bgColor已弃用,请改用document.body.style.backgroundColor

来自https://developer.mozilla.org/en/docs/DOM/document.bgColor

于 2013-03-26T01:21:09.513 回答