即时声明并使用javascript值

时间:2013-07-18 23:05:36

标签: javascript javascript-events google-chrome-extension

我有一个动态生成的链接,如下所示:

<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()。

Anyidea我怎么解决这个问题?谢谢。

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

2 个答案:

答案 0 :(得分:1)

将jQuery与Chrome扩展程序一起使用

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/

答案 1 :(得分:1)

使用jQuery#on方法收听随时添加到DOM的链接的点击事件。

$(document).on('click', '.link', function() {
    alert_some($(this).attr('id'));
});

http://jsfiddle.net/rotev/wxnDj/34/