js对标签添加点击事件,为什么点击事件不生效呢?下有代码
问题描述:
window.onload = function()
{
AddEvent() ;
}
var AddEvent = function()
{
var nochoose = document.getElementsByClassName("border_nochoose") ;
for(var i = 0 ; i < nochoose.length ; i ++)
{
nochoose[i].addEventListener("click",alert("hi")) ;
}
}
代码很简单,就是一个html页面里面有很多个class名字为border____nochoose的标签,然后拿到他们后一个个添加点击事件,点击一下出现alert一次。
但现在问题是,我还没有点击,网页就自动开始不停的alert了。
为什么会这样呢?
答
nochoose[i].addEventListener("click",function(){alert("hi")}) ;
答
addEventListener不是那么定义的,addEventListener(事件, function(){.....})
答
alert是一个函数,你这样写会被直接执行的
nochoose[i].addEventListener("click",function(){
alert("hi")
}) ;
答
很久没用html了,只能按照印象中简单说一下!,我没在你这个里面看到点击事件啊!第一句全局方法,第二句调用的另一个方法,第三局方法内容,第四句
获取那个东西,第5句循环,第六句,弹出提示框!! 不知道我说的对错,。还望采纳。 我记着应该是什么 onclick() 吧??
答
你用的for循环,alert在循环的时候就会执行,循环一次执行一次,你想要的是点击一次就弹出一次,是弹出框,而不是alert事件,alert事件不需要点击就会自动的弹出的。
答
你的AddEvent应该放在整个onlad里面 页面要加载哦! 谢谢了
答
window.onload 页面加载完自动执行的