Div元素上的jquery blur()事件出现问题

前端之家收集整理的这篇文章主要介绍了Div元素上的jquery blur()事件出现问题前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有问题隐藏某些基于div的弹出窗口.当我点击那些他们不隐藏的div.这是我正在做的示例代码..
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <title></title>
  5.  
  6. <script type="text/javascript" src="../JS/jquery-1.3.2.js"></script>
  7. <script type="text/javascript">
  8. $(document).ready(function()
  9. {
  10. $("#MainCanvas div").blur(function()
  11. {
  12. alert("blured");
  13. });
  14. });
  15. </script>
  16.  
  17. </head>
  18. <body>
  19. <div id="MainCanvas" style="width: 400px; height: 350px; border: solid 1px black;">
  20. <div class="ui-widget-content" style=" vertical-align:middle; height:60px; border: solid 2px black; width:300px;">
  21. Drag me around
  22. </div>
  23. </div>
  24.  
  25. </body>
  26. </html>

解决方法

如果我没记错的话,只有A,AREA,BUTTON,INPUT,LABEL,SELECT,TEXTAREA会创建焦点/模糊事件.如果要通过单击外部来隐藏弹出窗口,则必须例如在文档上侦听单击事件并检查事件是在弹出窗口内部还是外部发生.

示例代码

  1. $(document).click(function(e){
  2. if($(e.target).is('#MainCanvas,#MainCanvas *'))return;
  3. $('#MainCanvas').hide();
  4. });

猜你在找的CSS相关文章