有时候事件的冒泡问题还是挺隐蔽的:
$("<li></li>")
.append(" <a href='javascript:void(0)' id='"+menu_list[menu].weight+"' title='"+menu_list[menu].name+"' onclick='clickLeafNode("+ menu_list[menu].id+ ")' style='width:50px;text-decoration:none'>"
+ "<font size='2' id='"+menu_list[menu].weight+"' color='black'>"+ menu_list[menu].name+"</font>"
部分代码可以看出,a里有font。
响应事件的代码有这么一句:var obj = event.srcElement;最终obj拿到的是font对象
如果阻止font的onclick事件传播,可以如下:
//IE阻止事件冒泡的机制
window.event.cancelBubble = true;
这个时候a的onclick事件被并屏蔽,这不是我们要的
这个时候我们可以将部分需要的数据除了放在a的属性里,也可以将数据放到font的属性里。那么数据就可以给到我们的代码里 了