javascript - 使点击仅适用于父项

标签 javascript jquery html jquery-mobile

我的页脚里面有一些内容。我让我的页脚在点击时显示\隐藏。但是现在,如果我单击页脚内的任何项目(我在那里有导航栏),我的页脚也会对显示\隐藏使用react。我如何让父元素(页脚)对点击使用react,而不是子元素?我正在使用 jquery 手机。 这是我的代码:

<div data-role="footer" data-id="main_footer" data-position="fixed" data-fullscreen="true" data-visible-on-page-show="false" data-tap-toggle="false" >


                <div data-role="navbar" data-iconpos="top">
                    <ul>
                        <li><a id="menu-item-home" data-icon="custom" href="index.html" class="ui-btn-active ui-state-persist">&nbsp;</a></li>
                        <li><a id="menu-item-near-me" data-icon="custom" href="near-me.html">&nbsp;</a></li>
                        <li><a id="menu-item-rewards" data-icon="custom" href="rewards.html">&nbsp;</a></li>
                        <li><a id="menu-item-invite" data-icon="custom" href="invite.html">&nbsp;</a></li>
                        <li><a id="menu-item-profile" data-icon="custom" href="profile.html">&nbsp;</a></li>
                    </ul>
                </div><!-- /navbar -->
            </div>
            <!-- /footer -->
        </div>

和JS

$("#index").live('pagecreate', function() {
            $("[data-role='footer']").live("click", function() {
            if ($("[data-role='footer']").hasClass('ui-fixed-hidden'))
            {
                $("[data-role='footer']").removeClass('ui-fixed-hidden');
            }
            else
            {
                $("[data-role='footer']").addClass('ui-fixed-hidden');
            }

                });
        });

TLDR; 我想让页脚中的链接正常工作,但单击链接时不触发页脚显示\隐藏

最佳答案

你可以添加

 $(document).on("click", "[data-role='footer'] li", function(e) {
     e.stopPropagation();
 });

请注意,我使用的是 on 而不是 live,后者已被弃用。还要注意 jQuery 有一个有用的 toggleClass功能。所以我建议您将现有代码替换为

$("#index").live('pagecreate', function() {
     $(document).on("click", "[data-role='footer'] li", function(e) {
        e.stopPropagation();
     });
     $(document).on("click", "[data-role='footer']", function() {
        $("[data-role='footer']").toggleClass('ui-fixed-hidden');
     });
});

关于javascript - 使点击仅适用于父项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13412532/

相关文章:

javascript - 对 JavaScript 多维数组中的元素进行排序

html - 如何在缩小屏幕尺寸时均匀地修剪图像的左右两侧? (@媒体查询)

html - 页眉-页脚标签位于节标签内?

javascript - Magento:管理面板菜单不工作

javascript - 当年份的格式为 yy 时,如何在 Javascript 中解释正确的日期?

javascript - 找出从脚本中加载 JS 脚本的基本 URL

JavaScript 到 jQuery 语法 仍然需要转换方面的帮助

jquery - 使用 Kaminari gem 进行 Ajax 分页

javascript - 样式化选择缩略图

html - 使用 CSS3 关键帧动画 div 滑动,但 div 插入其他 div