2010-02-25 75 views
0

我有一個腳本,我試圖添加一個eventlistener到一個鏈接,並監視當用戶點擊鏈接。當鏈接被點擊時,它會調用函數'hi'。即時通訊有問題,因爲即使鏈接沒有被點擊,函數「hi」被調用。 IE和FF的結果相同。繼承人我的代碼也許有人可以幫助:javascript eventlistener問題

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; 

回答

5

你調用的attachEvent內喜函數本身使用addEventListener調用。改變它是:

function wat1() { 
    object1 = document.getElementById("watlol"); 
    try { 
     object1.attachEvent("click", function() { hi(9); }); 
    } 
    catch(e) { 
     object1.addEventListener("click",function() { hi(9); },false); 
    } 
} 

參數期望一個參考於函數時,而傳遞給它hi(9)正在通過調用該函數。在這樣做同樣是 的

0

還有一個方法的結果函數wat1(){

object1 = document.getElementById("watlol"); 

try 
{ 

    object1.onclick = function() 
    { 
           hi(9); 
    }; 
} 
catch(e) 
{ 
    object1.onclick = function() 
    { 
           hi(9); 
    }; 
    } 
} 
相關問題