Dojo dijit筛选器选择禁用项单击事件

Dojo dijit筛选器选择禁用项单击事件,dojo,Dojo,我对filteringselect做了一些改进,使其能够接受复选框输入,从而使我能够使用小部件选择多个值。 只有一件事我无法解决。 选择任何下拉选项时,下拉菜单关闭。 这是预期的行为,但我需要取消“closeDropDown”方法,因为其目的是选择我需要的任意多的项目。 如何实现这一点?只需覆盖自定义小部件中的closeDropDown方法,而不执行任何操作 e、 g: require([ 'dojo/_base/declare', 'dijit/popup', 'di

我对filteringselect做了一些改进,使其能够接受复选框输入,从而使我能够使用小部件选择多个值。
只有一件事我无法解决。
选择任何下拉选项时,下拉菜单关闭。
这是预期的行为,但我需要取消“closeDropDown”方法,因为其目的是选择我需要的任意多的项目。

如何实现这一点?

只需覆盖自定义小部件中的closeDropDown方法,而不执行任何操作

e、 g:

require([
    'dojo/_base/declare', 
    'dijit/popup',
    'dijit/form/FilteringSelect', 
    'dojo/domReady!'
], function (declare, popup, FilteringSelect) {

    var CustomFilteringSelect = declare([FilteringSelect], {
        closeDropDown : function(/* Boolean */ focus){
            console.log("Not closing");
        },

        postCreate : function(){
            this.inherited(arguments);
            this.on("blur",  function(){
                if(this._opened){
                    this._popupStateNode.setAttribute("aria-expanded", "false");
                    if(focus){
                        this.focus();
                    }
                    popup.close(this.dropDown);
                    this._opened = false;
                }
            });
        }
    });


    var select = new CustomFilteringSelect(someprops, somenode);
    select.startup();
});

例如,请参见。

这有助于不关闭下拉列表,但当FilteringSelect模糊时,我需要将其关闭,因此如何告诉下拉列表仅在模糊时关闭,而不在单击时关闭?请参见我的更新回复。我只是把之前在closeDropDown中的代码放到onblur事件处理程序中…我明白了。但是我在上检查了这个解决方案,但是说“popup未定义”,我忘记了依赖项中的popup模块。再查一遍。