0

以下に示すように、オンザフライで生成されるリンクがあります。

<a href="#" id="btn_0">Data1</a>
<a href="#" id="btn_1">Data2</a>
<a href="#" id="btn_2">Data3</a>

リンクのいずれかがクリックされるたびに、以下の機能を使用したい:

function alert_some(id){
    alert(id);
}

Chrome 拡張機能がインライン イベント ハンドラーに課す制限のため、生成されたリンクから関数 alert_some() を呼び出すことができません。

どうすればこれを解決できますか?ありがとう。

http://jsfiddle.net/selom/wxnDj/

4

2 に答える 2

1

chrome 拡張機能で jQuery を使用する

jQuery(document).on("click", "a", function() {
   alert_some($(this).attr("id"));
}

function alert_some(id) {
    alert(id);
}

または純粋なJS

document.onclick = function(ele) {
    if (ele.originalTarget.localName == "a") {
        alert_some(ele.originalTarget.id);
    }
}

function alert_some(id) {
    alert(id);
}

これはa、その場で生成されたものを含むすべての要素で機能します

ただし、ページ上の他の と区別する必要がありaます... 例<a href="#" id="btn_2" class="generated">Data3</a>


または、変更されたフィドルhttp://jsfiddle.net/wxnDj/36/

于 2013-07-18T23:10:21.480 に答える