阻止js事件冒泡
2011-08-23 20:47
274 查看
一、判断js事件触发源,屏蔽不需要激发事件的事件源
<script language="javascript">
document.onclick=onClick;//当用户在文档中点击是调用onClick function()
function onClick(ev)
{
ev = ev || window.event;//事件
var target = ev.target || ev.srcElement;//获得事件源
/*target.getAttribute()是获取该事件源对像里面的一些属性。
比如对像中有(name,id,type等等) */
/*需要屏蔽的事件源*/
var dragObj = target.getAttribute('type');
if(dragObj != dragObj ){
/*执行事件行为 */
}
}
</script>
二、直接阻止事件冒泡
function stopBubble(e) {
//如果提供了事件对象,则这是一个非IE浏览器
if ( e && e.stopPropagation )
//因此它支持W3C的stopPropagation()方法
e.stopPropagation();
else
//否则,我们需要使用IE的方式来取消事件冒泡
window.event.cancelBubble = true;
}
测试:IE6.0,FireFox,Chrome,Opera均有效。
三、当按键后,不希望按键继续传递给如HTML文本框对象时,可以取消返回值.即停止默认事件默认行为。
//阻止浏览器的默认行为
function stopDefault( e ) {
//阻止默认浏览器动作(W3C)
if ( e && e.preventDefault )
e.preventDefault();
//IE中阻止函数器默认动作的方式
else
window.event.returnValue = false;
return false;
}
在IE中测试效果很好;Chrome,Opera无效,在FF中时好时坏,哈啊哈。
<script language="javascript">
document.onclick=onClick;//当用户在文档中点击是调用onClick function()
function onClick(ev)
{
ev = ev || window.event;//事件
var target = ev.target || ev.srcElement;//获得事件源
/*target.getAttribute()是获取该事件源对像里面的一些属性。
比如对像中有(name,id,type等等) */
/*需要屏蔽的事件源*/
var dragObj = target.getAttribute('type');
if(dragObj != dragObj ){
/*执行事件行为 */
}
}
</script>
二、直接阻止事件冒泡
function stopBubble(e) {
//如果提供了事件对象,则这是一个非IE浏览器
if ( e && e.stopPropagation )
//因此它支持W3C的stopPropagation()方法
e.stopPropagation();
else
//否则,我们需要使用IE的方式来取消事件冒泡
window.event.cancelBubble = true;
}
测试:IE6.0,FireFox,Chrome,Opera均有效。
三、当按键后,不希望按键继续传递给如HTML文本框对象时,可以取消返回值.即停止默认事件默认行为。
//阻止浏览器的默认行为
function stopDefault( e ) {
//阻止默认浏览器动作(W3C)
if ( e && e.preventDefault )
e.preventDefault();
//IE中阻止函数器默认动作的方式
else
window.event.returnValue = false;
return false;
}
在IE中测试效果很好;Chrome,Opera无效,在FF中时好时坏,哈啊哈。
相关文章推荐
- JS中阻止事件冒泡实例
- Js 冒泡事件阻止
- js事件冒泡、事件捕获和阻止默认事件详解
- js学习笔记之阻止冒泡和默认事件
- js阻止事件冒泡
- js中阻止事件冒泡
- Js阻止事件冒泡和document.onclick在IE浏览器上无效
- Js 冒泡事件阻止
- JS阻止冒泡事件以及默认事件发生的简单方法
- js 停止事件冒泡 阻止浏览器的默认行为
- js阻止浏览器的默认行为以及停止事件冒泡(用JQuery实现回车提交)
- js 停止事件冒泡 阻止浏览器的默认行为(阻止超连接 # )
- 什么是事件冒泡?如何用jquery/js阻止事件冒泡?阻止冒泡有什么作用?小生来抛个砖。
- js 停止事件冒泡 阻止浏览器的默认行为(阻止超连接 # )
- Js 冒泡事件阻止
- js阻止浏览器的默认行为以及停止事件冒泡(用JQuery实现回车提交,兼容IE、FF浏览器)
- js停止事件冒泡 阻止浏览器默认行为
- js阻止浏览器的默认行为以及停止事件冒泡(用JQuery实现回车提交,兼容IE、FF浏览器)
- Js 冒泡事件阻止实现代码
- js阻止浏览器的默认行为以及停止事件冒泡