使用jQuery在单击或聚焦时触发事件的正确方法是什么?
出于可访问性的原因,当有人用键盘或鼠标单击某个元素时,我需要切换类。目前,第一次切换类需要2次单击。似乎当我点击时,焦点是否定点击,因此切换类触发两次。实现这一目标的正确方法是什么?欢迎提供任何信息使用jQuery在单击或聚焦时触发事件的正确方法是什么?,jquery,function,click,focus,Jquery,Function,Click,Focus,出于可访问性的原因,当有人用键盘或鼠标单击某个元素时,我需要切换类。目前,第一次切换类需要2次单击。似乎当我点击时,焦点是否定点击,因此切换类触发两次。实现这一目标的正确方法是什么?欢迎提供任何信息 <script type='text/javascript'> ( function($) { jQuery(document).ready(function($) { // Main nav show/hide $("#mobile-nav-link").on(
<script type='text/javascript'>
( function($) {
jQuery(document).ready(function($) {
// Main nav show/hide
$("#mobile-nav-link").on("focus click", function(e) {
$( '.mobile-nav, #main-container' ).toggleClass('position-2');
});
});
} ) ( jQuery );
</script>
(函数($){
jQuery(文档).ready(函数($){
//主导航显示/隐藏
$(“#移动导航链接”)。打开(“焦点点击”,功能(e){
$('mobile nav,#主容器').toggleClass('position-2');
});
});
})(jQuery);
我认为用户不会期望在focus上打开汉堡包菜单。更常见的行为是允许汉堡包菜单在集中时按enter键打开/关闭 仅仅关注是不够的吗?无论是用鼠标还是键盘对焦,它仍然只是一个焦点。@NawedKhan我们单击的元素是一个汉堡/菜单图标。如果我将事件设置为仅聚焦,则用户无法通过单击汉堡/菜单图标来关闭菜单。用户需要能够聚焦图标以打开菜单,并能够通过单击来关闭菜单(如果他们愿意)。在此之后,我同意你的看法。最后,我将其改回“仅单击”,并希望用户单击/输入以展开菜单。我想做的太多了。感谢@mike thone$(“#移动导航链接”)。在(“单击”,函数(e){$('.mobile nav,#主容器')。切换类('position-2');})代码>