document.body.onclick=function(){
我只向捕获背景的点击事件,这个方法把input元素的也捕获了,有没有办法不捕获input的事件呢,谢谢各位
------解决方案--------------------
这个好像没办法把。。取消冒泡事件?! 但是你input属于body。。点击input的时候相当于也点击了body,你可以用取消冒泡事件的方法试下
------解决方案--------------------
<script>
document.onclick=function(evt){
ele = window.event?window.event.srcElement:evt.target;
if(ele.tagName=="INPUT")
{
//不执行代码
}
else
{
alert(5)
}
}
</script>
------解决方案--------------------
http://hi.baidu.com/shaoxiaoming/blog/item/af71454b4aa785f782025c8b.html
你自己也可以在网上搜下。。
------解决方案--------------------
1、 在 input 点击事件 取消事件冒泡
2、 body 事件,判断触发事件的源
推荐第2种
用第一种。每个控件的事件都要设置取消冒泡
------解决方案--------------------
你可以判断一下event.target(srcElement),如果不是body的话,就不处理
------解决方案--------------------
我就是来赚分发帖的,速度给分。江湖救急、解决方法
document.body.onclick=function(e){
............你的代码写完后调用下面方法
StopEvent(e)
}
//停止事件冒泡,兼容各种浏览器
function StopEvent(e) {
if (e.stopPropagation) {e.stopPropagation();}
else if (window.event) {window.event.cancelBubble = true;}
}
------解决方案--------------------
- JScript code
document.documentElement.onclick = function(event){ var e = event || window.event, target = e.target || e.srcElement; if(target === this){ alert(1); } }