JQuery 提供了两种方式来阻止事件冒泡。

方式一:event.stopPropagation();

        $("#div1").mousedown(function(event){

            event.stopPropagation();


        });

方式二:return false;

        $("#div1").mousedown(function(event){

            return false;


        });

但是这两种方式是有区别的。return false 不仅阻止了事件往上冒泡,而且阻止了事件本身。event.stopPropagation() 则只阻止事件往上冒泡,不阻止事件本身。

场景应用:
Google 和 百度的联想框,当弹出下拉列表,用户在下拉列表区域按下鼠标时需要让光标仍然保持在文本输入框。

示例测试代码:
当文本输入框获取焦点后,在div1的mousedown事件中采用 event.stopPropagation();
代码,我们鼠标单击红色区域后文本输入框光标失去。而当我们使用 return false; 代码时,鼠标单击红色区域光标仍然停留在文本输入框内。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" lang="zh-CN">


<head>


<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />


<meta http-equiv="Content-Language" content="zh-CN" />


<title></title>


<script language="JavaScript" type="text/javascript" src="jquery-1.3.2.min.js"></script>


<script>


    $(document).ready(function(){


        $("#div1").mousedown(function(event){


            //event.stopPropagation();


            return false;


        });


        $("#div2").mousedown(function(event){


            alert("trigger mousedown event of rootDiv");


        });


    });


</script>


</head>


<body>


    <div id="rootDiv" style="position:relative;left:400px;top:200px;">


        <div>1.单击输入框,使输入框获取焦点:</div>


        <input id="input1" style="width:250px;" type="text"></input>


        <div id="div2">


            <div id="div1"
style="width:200px;height:200px;"><br><
br>2.然后再单击这里</div>


        </div>


    </div>


</body>


</html>

最新文章

  1. MySQL 临时表
  2. Windows Server 2008 R2 负载平衡入门篇
  3. 【UOJ #147】【NOIP 2015】斗地主
  4. Aquarium Cycling
  5. CNContact对通讯录的基本使用(增删改查)
  6. POJ1037A decorative fence(好dp)
  7. mongo数据库基础操作
  8. mysql copy表或表数据常用的语句整理汇总
  9. c#复制图片到粘贴板
  10. iOS 提示音播放
  11. 删除git项目
  12. 个人作业3——个人总结(Alpha阶段)
  13. lvs+keepalive构建高可用集群
  14. JavaScript 递归
  15. js 一些基础的理解
  16. H5上传功能
  17. sql两表连接
  18. TCP连接与断开详解(socket通信)
  19. cuda编程视频资料
  20. 网络编程基础【day09】:实现简单地ssh(四)

热门文章

  1. UVA 11374 Airport Express(枚举+最短路)
  2. python高级编程(第12章:优化学习)1
  3. python学习之路-2 初识python数据类型
  4. 精通CSS+DIV基础总结(二)
  5. Android加载图片OOM错误解决方式
  6. 用CSS画五角星
  7. 怎么使用jQuery在DIV适应屏幕大小一直居中
  8. keycode(来自互联网)
  9. U盘制作Linux系统盘
  10. 0118——UIButtton