有时需要根据业务需要动态绑定事件,比如需要从根据从数据库中查出来的链接名称和URL,将这些信息放到标签中,数据库中的数据量是变化的,要在前端循环遍历数据,并进行事件绑定
使用方法:$(标签).bind(‘click’,{key,value},clickHandler);
如果直接使用 $(标签).on(‘click’,function(){ }),则所有元素绑定的事件都是最后一次循环所绑定的事件,相当于把之前几次循环绑定的事件产生了覆盖
function events(result){
//循环绑定事件
for(var j = 0;j<result.length;j++){
var name = result[j].name;
var url = result[j].url;
var a = '<a id ='+j+'>'+name+'</a>'
$('#'+j).bind('click',{URL,url},clickHandler);
}
function clickHandler(event) {
var url= event.data.URL;
window.open (url);
}
}