div内有两个img 标签,该div和里面的两个img都有响应onclick消息,现在问题是单击里面的img标签,外层div的onclick也被调用了。要怎么改 才能保证 单击里面的img标签不会执行外层div的onclick消息。
回复讨论(解决方案) 写成这样的结构
然后用css控制就行了
阻止冒泡 http://lj830723.iteye.com/blog/1452280
写成这样的结构
然后用css控制就行了
亲,写成这样 页面布局就改了。div内也不只是两个img的,还有很多其它标签。
阻止冒泡 http://lj830723.iteye.com/blog/1452280
function stoppropagation(e) {
e = e || window.event;
if (e.stoppropagation) { //w3c阻止冒泡方法
e.stoppropagation();
} else {
e.cancelbubble = true; //ie阻止冒泡方法
}
}
function openchat(e,vid) {
stoppropagation(e);
}
刚试了下,还是不行。因为onclick是我要传一个id进行。代码如上
写成这样的结构
然后用css控制就行了
亲,写成这样 页面布局就改了。div内也不只是两个img的,还有很多其它标签。
你只把这两个img标签独立出来就行了啊,用绝对定位放在div上面。我是这样想得,感觉应该可以。
阻止冒泡 http://lj830723.iteye.com/blog/1452280
function stoppropagation(e) {
e = e || window.event;
if (e.stoppropagation) { //w3c阻止冒泡方法
e.stoppropagation();
} else {
e.cancelbubble = true; //ie阻止冒泡方法
}
}
function openchat(e,vid) {
stoppropagation(e);
}
刚试了下,还是不行。因为onclick是我要传一个id进行。代码如上
既然函数的event不能用,那你就用 window的event嘛,你就不要把e传进去,里面的方法就会取window的event了。也就是你这方法还是只接受一个参数,就是你传的id:
function stoppropagation(e) { e = e || window.event; if (e.stoppropagation) { //w3c阻止冒泡方法 e.stoppropagation(); } else { e.cancelbubble = true; //ie阻止冒泡方法 }} function openchat(vid) { stoppropagation();}