我有一个脚本,我试图将eventlistener添加到链接,并在用户点击链接时查看。当链接被点击时,它会调用函数'hi'。因为即使没有点击链接也会调用'hi'功能,因此我遇到了麻烦。 IE和FF上的结果相同。继承我的代码也许有人可以提供帮助:
function hi(id) {
var xmlhttp = new XMLHttpRequest();
urlwat = "wat.php?id="+id;
xmlhttp.open("POST",urlwat,true);
xmlhttp.send(null);
}
function wat1() {
object1 = document.getElementById("watlol");
try {
object1.attachEvent("click",hi(9));
}
catch(e) {
object1.addEventListener("click",hi(9),false);
}
}
window.onload = wat1;
答案 0 :(得分:5)
您在attachEvent和addEventListener调用中调用hi函数本身。将其更改为:
function wat1() {
object1 = document.getElementById("watlol");
try {
object1.attachEvent("click", function() { hi(9); });
}
catch(e) {
object1.addEventListener("click",function() { hi(9); },false);
}
}
参数需要引用到函数,而传递它hi(9)
传递调用函数的结果
答案 1 :(得分:0)
另一种做法是 function wat1(){
object1 = document.getElementById("watlol");
try
{
object1.onclick = function()
{
hi(9);
};
}
catch(e)
{
object1.onclick = function()
{
hi(9);
};
}
}