首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在活动区域内的初始焦点事件之后停止事件冒泡

在活动区域内的初始焦点事件之后停止事件冒泡
EN

Stack Overflow用户
提问于 2011-06-16 02:08:57
回答 1查看 221关注 0票数 0

我有一个下拉菜单,我希望用户能够通过。我在一个相当好的地方有这个功能,一旦用户用tabs键进入元素,菜单就会向下滑动,而当用户用tabs键拉出时,菜单就会向上滑动。唯一的问题是,每当用户在菜单中用tabs键切换到新链接时,都会点击focus:。所以体验是相当的。弹力十足。

在用户跳出活动区域之前,我如何防止事件冒泡?谢谢!

代码语言:javascript
运行
复制
$('#block-pagestyle-form')
  .live({
    focus:function (){
            $('#pagestyle_current_list').slideDown(250)
    },
    blur: function (){
            $('#pagestyle_current_list').slideUp(250)
    }
  });

编辑:很抱歉!我正在处理的html是:

代码语言:javascript
运行
复制
<div id="block-pagestyle-form">
  <h1><a href="">Menu Title</a></h1>
  <ul id="pagestyle_current_list">
    <li><a href="">Menu Item</a></li>
    <li><a href="">Menu Item</a></li>
    <li><a href="">Menu Item</a></li>
  </ul>
</div>

用户需要能够在h1标记上使用tab键,从而触发.slideDown,并且当用户使用tab键离开div时,菜单需要向上滑动。现在的代码每次将菜单中的锚点切换到时都会运行.slideDown()。

EN

回答 1

Stack Overflow用户

发布于 2011-06-16 02:18:21

我不确定我是否正确理解了您的问题,但您可以使用stop方法停止之前的任何动画:

代码语言:javascript
运行
复制
$('#block-pagestyle-form')
  .live({
    focus:function (){
            $('#pagestyle_current_list').stop(true, true).slideDown(250)
    },
    blur: function (){
            $('#pagestyle_current_list').slideUp(250)
    }
  });
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6362256

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档