Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用jQuery在单击或聚焦时触发事件的正确方法是什么?_Jquery_Function_Click_Focus - Fatal编程技术网

使用jQuery在单击或聚焦时触发事件的正确方法是什么?

使用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(

出于可访问性的原因,当有人用键盘或鼠标单击某个元素时,我需要切换类。目前,第一次切换类需要2次单击。似乎当我点击时,焦点是否定点击,因此切换类触发两次。实现这一目标的正确方法是什么?欢迎提供任何信息

<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');})