的setAttribute在JavaScript
问题描述:
这是我的代码,以动态地设置onclick属性来链接。但是没有我点击链接本身的警报triggerd.Pls帮助的setAttribute在JavaScript
window.onload = function()
{
var links = document.getElementsByTagName("a") ;
for(var i=0;i<links.length;i++)
{
elm = links[i];
elm.setAttribute("onclick", alert("you clicked a lik"));
}
}
答
变化相应行:
elm.setAttribute("onclick", function() { alert("you clicked a link");});
如果你传递一个函数调用的参数(如alert('msg')
),函数将执行imediatley,实际传递的参数是函数的返回值。你所要做的就是将你的eventHandler代码包装成一个匿名函数。
此外,你可以声明处理您的活动功能,并把它的名字作为参数:
function handleClick() { alert("you clicked a link");}
elm.setAttribute("onclick", handleClick);
附: :我建议使用addEventListener
的功能,而不是普通的旧的onEvent内嵌的属性:
elm.addEventListener('click', function() { alert("you clicked a link");}, false);
答
尝试把警报声明为anonimous功能
window.onload = function()
{
var links = document.getElementsByTagName("a");
for(var i=0; i < links.length; i++)
{
links[i].setAttribute("onclick", function() {
alert("you clicked a link");
});
}
}
也要小心点击了这些_liks_,赶上他们在错误的角度,你会得到一个正确的润湿。 –
是的,好笑。这就是复制粘贴的功能。 –