强制 DropDownList 使用列表而不是移动设备的 ActionSheet

Posted

技术标签:

【中文标题】强制 DropDownList 使用列表而不是移动设备的 ActionSheet【英文标题】:Force DropDownList to use list instead of ActionSheet for mobile 【发布时间】:2013-08-31 16:50:30 【问题描述】:

我正在使用 Kendo 开发一个 iPad 应用程序,而 DropDownList 正在抛出一个 ActionSheet。我想强制它使用 Web UI 列表样式。我该怎么做?

【问题讨论】:

【参考方案1】:

对于任何感兴趣的人,我都能够拼凑出一个解决方案。这是一个接受 kendoMobileView 作为参数并应用修复的函数。

//Hack to force dropdowns to act like comboboxes in mobile!
	utils.fix.dropdownlists = function(view) 
      var dropdowns = view.element.find("[data-role='dropdownlist']");
      //Iterate through dropdown elements
      _.each(dropdowns, function(item)
        var comp = $(item).data("kendoDropDownList");
        if(comp && comp.popup) 
          comp.popup.bind("open", function(event)
            event.sender.element.parent().removeClass("km-popup km-widget");
            if(event.sender.element.parent().hasClass("km-popup")) 
              //Prevent default open animation.
              //Then remove classes and open the popup programitcally
              //Easy peasy, Lemon squeezy
              event.preventDefault();
              event.sender.element.parent().removeClass("km-popup km-widget");
              setTimeout(function()
                event.sender.open();
              ,0);
            
          );
        
      );
	

【讨论】:

以上是关于强制 DropDownList 使用列表而不是移动设备的 ActionSheet的主要内容,如果未能解决你的问题,请参考以下文章

CSV DictReader,如何强制“”中的部分作为列表而不是字符串读取

Kendo AutoComplete - 强制用户做出有效选择

怎么设置dropdownlist只能下拉不能选中

当用户从DropDownList选择其他选项时如何更改内容

强制纱线将某些模块安装到给定的工作区,而不是将它们移动到monorepo的共享节点模块?

用逗号分隔的文本 JQuery 填充 DropDownList