除了document.onclick之外,Javascript onclick不起作用

时间:2014-05-11 21:14:27

标签: javascript-events

所以我今天一直试图学习一些关于javascript的东西,碰到了各种各样的事件,不知怎的,我一直坚持下去。

当我调用第一个函数时它才起作用,但是如果我调用第二个函数它不会因某种原因执行该函数?我已经尝试过没有windows.onload事件我尝试将脚本代码放在head元素内部或者只是在关闭body标签上方但没有任何改变,任何提示?

function peh() {

    document.onclick = function(){
    alert("you clicked");
}
}

function second(){
    var myElement = getElementsByTagName("mImg");
    myElement.onclick = function(){
        alert("clicked img");
    }
}

window.onload = function() {
    second();
}

3 个答案:

答案 0 :(得分:1)

我想你必须改变你的代码:

function second(){
   var myElement = document.getElementsByTagName("mImg");
   myElement[0].onclick = function(){
    alert("clicked first img");
   }
}

因为getElementsByTagName选择器正在返回数组。你可以为每个元素做“for”或“while”循环。

答案 1 :(得分:0)

您使用getElementsByTagName接收DOM HTML标记名称,例如'td' 最好使用getElementsById,因为我猜mImg是某个元素的ID ...

答案 2 :(得分:0)

感谢jquery框架,你不会再为这些事情烦恼了。 只需使用jquery函数。

$(document).ready(function(){
$(mImg).click(function(){
   alert("goood");
 });
});

或动态标签:

$(document).on("click","mImg",function(){
alert("goood");
});