簡體   English   中英

動態使用Javascript onClick()事件不起作用

[英]Javascript onClick() event not working when used dynamically

我正在努力使onclick事件偵聽器在結果中起作用。 這是我的代碼:

function createLink(text, parentElement) {
        var a = document.createElement('p');
        var linkText = document.createTextNode(text);
        a.appendChild(linkText);
        temp1 = text.replace("/","-");
        temp2 = res1.replace("/","-");
        a.onclick=function(){goMainMenuFromResults();};
        parentElement.appendChild(a);
        var br = document.createElement('br');
        parentElement.appendChild(br);
}

有問題的行是:

a.onclick=function(){goMainMenuFromResults();};

該函數在另一部分中提供,但可在硬編碼的html事件中使用。 將其導入javascript中的元素時,我只是無法使其工作。 任何幫助將不勝感激!

詹姆斯,似乎工作正常,只是一個叫做res1的變量在這里出錯。 看一看:

temp2 = res1.replace("/","-");

http://jsfiddle.net/MarcelKohls/23tBM/291/

我刪除了包含未定義變量的行。 然后,我在事件處理程序內部引發的事件上添加了對preventDefault()的調用。 現在可以正常工作了。 創建新元素,並且單擊處理程序對新元素起作用。

function createLink(text, parentElement) {
    var a = document.createElement('p');
    var linkText = document.createTextNode(text);
    a.appendChild(linkText);
    //temp1 = text.replace("/","-");
    //temp2 = res1.replace("/","-");
    a.onclick = function(e) {
        e.preventDefault();
        goMainMenuFromResults();
    };
    parentElement.appendChild(a);
    var br = document.createElement('br');
    parentElement.appendChild(br);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM