onload()函数拒绝运行?

时间:2012-01-18 20:11:05

标签: javascript onload

你好我很抱歉打扰你这么简单的问题,但这段代码,我真的找不到它的任何问题,但是没有一个警报甚至触发,所以我知道init甚至都没有传递给window.onload。这是代码:

window.onload()=init;
alert("The file has been linked to.");
function init(){
    alert("Init has been loaded");
var button = document.getElementById("myButton");
    button.onclick = handleButtonClick; 
 }

function handleButtonClick()
{
    alert("button has been clicked");
    var target = document.getElementById("target");
    var image = document.createElement("<img />");
    image.innerHTML = "<img src=../Images/banner_test.jpg alt=Banner height=42          width=42 />" ;
target.appendChild(image);
 }


 JS位于我与之链接的外部js文件中:

<script type="text/javascript" src="../JS/Experiment.js" > </script>

我是否拼错了某些内容或忘记了某个参数,因为我已经说过没有任何警报会激活,所以不要谈论创建新的<img />并添加它。

HTML不是问题我尝试使用内联alert()的简单<script>并且它有效,但我需要将其放在外部文件中。

3 个答案:

答案 0 :(得分:4)

window.onload不是一种方法,请删除parens ()

答案 1 :(得分:3)

window.onload不是函数,因此第一行将阻止其余函数运行:

window.onload()=init

应该是

window.onload=init;
alert("The file has been linked to.");
function init(){
    alert("Init has been loaded");
var button = document.getElementById("myButton");
    button.onclick = handleButtonClick; 
 }

function handleButtonClick()
{
    alert("button has been clicked");
    var target = document.getElementById("target");
    var image = document.createElement("<img />");
    image.innerHTML = "<img src=../Images/banner_test.jpg alt=Banner height=42          width=42 />" ;
target.appendChild(image);
 }

请注意,init函数也是可用的,因为JavaScript将非“var”ed函数提升到作用域的顶部,所以当你指向这样的函数时要注意这一点。

答案 2 :(得分:1)

正如其他人所说,必须放弃这些问题。在您的代码运行正常之前,您必须修复更多代码。

  1. document.createElement接受一个普通字符串作为参数,它将是标记名称。您当前的代码将在此时抛出错误。
  2. 创建图像元素时,innerHTML属性对此没有意义。您必须明确地将属性/属性附加到它(见下文)。
  3. 固定代码:

    function handleButtonClick()
    {
        alert("button has been clicked");
        var target = document.getElementById("target");
        //var image = document.createElement("<img />"); // INVALID!!
        var image = new Image(); // or: document.createElement("img");
        //image.innerHTML = "<img src=../Images/banner_test.jpg alt=Banner height=42          width=42 />" ;
        image.src = "../Images/banner_test.jpg";
        image.alt = "Banner";
        image.height = 42;
        image.width = 42;
        target.appendChild(image);
     }