1

我正在尝试基于 DOM 创建一个事件来测试我的 Javascript 技能,有人知道为什么这不适用于元素吗?

function getButton(){
    var getButton = document.getElementById("submit");
    getButton.onclick() = function(){
         alert("it works!")
    }
}

Submit 是<input type="submit" />Id 元素中的一种元素,所以我不明白为什么它不起作用。

4

3 回答 3

4

删除()事件标识符。您只是在此处分配一个属性,而不是进行函数调用或类似操作。

function getButton(){

  var getButton = document.getElementById("submit");

  getButton.onclick = function(){
     alert("it works!");
  }
}
于 2013-04-17T11:05:55.947 回答
0

您的代码中有几个问题:

  1. 您尝试提交的元素是<submit>标签;它没有id="submit",所以试图获取元素getElementById("submit")是行不通的。

    要么给你的<submit>标签它自己的标签id并选择它,要么使用它getElementByTagName("submit")

  2. 正如@Sirko 和@Osiris 所提到的那样,getButton.onclick() = function(){它不起作用,因为你试图.onclick()在它不是的时候作为一个函数调用。您要做的是为 的onclick属性分配一个函数getButton

    getButton.onclick() = function(){应该是getButton.onclick = function(){

于 2013-04-17T11:08:54.777 回答
0
getButton.onclick = function() {
       alert("it works!");
};
于 2013-04-17T11:05:43.237 回答