2013-08-01 55 views
0

我正在寫一個Chrome擴展,我試圖添加一個調用JavaScript函數的鏈接,正好是like in the questionOnclick語句不顯示

然而,當我點擊鏈接,沒有任何反應 - 當我看到調試控制檯,「一」節點不具有「點擊」屬性可言,它只是看起來像這樣:

<a href="#">Add to likes</a> 

這是我的代碼:

function generateEntry(innerEntry) {  
    var a = document.createElement('a'); 
    var linkText = document.createTextNode("Add to likes"); 
    a.appendChild(linkText); 
    a.onclick="addToLikes('" + "hello" + "')" 
    a.href = "#"; 
    return a 
} 

如果我手動添加在調試控制檯的「onclick」事件的聲明,一切正常。

<a href="#" onclick="addToLikes('hello2')">Add to my likes</a> 

我的腳本有什麼問題?

回答

0

,你必須使用功能的onclick

function generateEntry(innerEntry) {  
    var a = document.createElement('a'); 
    var linkText = document.createTextNode("Add to likes"); 
    a.appendChild(linkText); 
    //a.onClick="addToLikes('" + "hello" + "')" 
    a.onclick = function() { 
    addToLikes('hello2'); 
    }; 
    a.href = "#"; 
    return a 
} 
+0

沒有。不起作用 – Yossale

+0

不,它是區分大小寫的,所有小寫都是正確的。 – Quentin

+0

我看到了不便之處的錯誤和藉口 –

0

onclick屬性採用功能作爲它的值,而不是字符串。

function addHelloToLikes() { 
    addToLikes("hello"); 
} 

a.onclick = addHelloToLikes; 

您可能希望使用更現代的addEventListener method代替。

+0

我從谷歌學者結果頁面複製它 - 也許這是我沒有得到的東西嗎?: Cite Yossale

+1

@yossale - 這是一個HTML屬性,而不是一個JavaScript屬性分配。 – Quentin