我有一个动态生成的链接,如下所示:
<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我怎么解决这个问题?谢谢。
答案 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'));
});