javascript事件侦听器问题
我有一个脚本,我试图在其中添加一个eventlistener到一个链接,它监视用户何时单击该链接。当点击链接时,它调用函数“hi”。我遇到了麻烦,因为函数“hi”即使在没有点击链接的情况下也会被调用。IE和FF的结果相同。这是我的代码,也许有人能帮上忙:javascript事件侦听器问题,javascript,events,Javascript,Events,我有一个脚本,我试图在其中添加一个eventlistener到一个链接,它监视用户何时单击该链接。当点击链接时,它调用函数“hi”。我遇到了麻烦,因为函数“hi”即使在没有点击链接的情况下也会被调用。IE和FF的结果相同。这是我的代码,也许有人能帮上忙: function hi(id) { var xmlhttp = new XMLHttpRequest(); urlwat = "wat.php?id="+id; xmlhttp.open("POST",urlwat,true); xmlh
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;
您正在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的结果。您在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);
}
}
该参数需要对函数的引用,而传递它是传递调用函数的结果 函数wat1(){
还有一种方法是 函数wat1(){