Jquery菜单折叠行为

时间:2017-07-06 11:45:37

标签: jquery jquery-ui

我有一个动态构建的Jquery菜单, 每个SubMenu列表项都包含一个Anchor标签和Checkbox。 单击锚标记时,我会动态添加一个弹出窗口,其中包含一个文本区域。

问题是当我点击复选框然后尝试在文本框内部(弹出窗口内)键入内容时子菜单会折叠。 只有在单击复选框然后单击弹出窗口时才会发生这种情况。

如果在复选框之前单击了弹出窗口,我可以使用弹出窗口键入文本框,而不隐藏子菜单。

我已经使用过了

_closeOnDocumentClick: function (event) {
            return false;
        },
select: function (event) {
            // TODO: It should never be possible to not have an active item at this
            // point, but the tests don't trigger mouseenter before click.
            this.active = this.active || $(event.target).closest(".ui-menu-item");
            var ui = { item: this.active };
            if (!this.active.has(".ui-menu").length) {
                this.collapseAll(event, false);// i have passed false to prevent collapse
            }
            this._trigger("select", event, ui);
        }

防止子菜单隐藏。

除了我已经解释过的复选框场景外,这种方法很有效。 另外,我尝试了stopPropogationpreventDefaults

主要UL:

 <ul style="width: 250px; display: block; top: 0px; left: 248.75px;" class="ui-menu ui-widget ui-widget-content ui-front" role="menu" aria-expanded="true" aria-labelledby="zzzz" />

李先生

<li class="ui-menu-item" id="ui-id-4" tabindex="-1" role="menuitem"><div class="row"><div class="col-sm-12 "><div class="col-sm-8 "><span class="lbl"> Loss of Vision</span> <a class="badge badge-info"  id="liId" style="background-color: rgb(221, 221, 221) !important; cursor: pointer;"><i style="vertical-align: middle;" class="fa fa-comment-o "></i></a></div><div class="col-sm-1 "><div class="checkbox "><label> <input type="checkbox" name="name" id="name" data-displayvalue="Hxxxx" class="ace" data-classattr="classattr" data-originalid="doid" data-originalvalue="originalval"> <span class="lbl"></span> </label></div></div><div class="col-sm-1 "><div class="checkbox"><label> <input type="checkbox" name="Ename" id="id2" data-displayvalue="xxx" class="ace" data-classattr="xxx" data-originalid="oid" data-originalvalue="xxxx"> <span class="lbl"></span> </label></div></div></div></div></li>

0 个答案:

没有答案