jquery-ui - 如何使用 jquery-ui selectmenu 扩展方法(_renderItem、_renderMenu 等)

标签 jquery-ui jquery-ui-widget-factory jquery-ui-selectmenu

JQuery-UI selectmenu 小部件有一些扩展方法,可用于自定义下拉选择菜单的呈现/样式。 来自 api docs ,可以使用以下widget扩展方法来自定义菜单: - _renderItem( ul, 项目 ) - _renderMenu( ul, items )

我想要实现的是,仅针对 selectmenu 小部件的一个实例覆盖上述扩展方法,而不是在全局级别。 widget factory docs确实有关于扩展小部件的特定实例的示例(示例位于本页底部),但尚未成功地将其应用于 selectmenu 扩展方法。 非常感谢对此问题的任何见解。

最佳答案

而不是使用 .data('ui-selectmenu') 来访问该对象(如 @kashif_shamaz 的答案中所建议的),API provides the instance() method暴露对象。好处是,与通过 data() 方法进行基于字符串的访问相比,此方法是 API 的一部分,因此在未来潜在的更改期间应该更稳定且有更好的文档记录。

使用如下:

$('#select-menu-id').selectmenu('instance')._renderItem = function(event, ui) {
    // override with custom logic for rendering each select option
}

关于jquery-ui - 如何使用 jquery-ui selectmenu 扩展方法(_renderItem、_renderMenu 等),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26773621/

相关文章:

javascript - jQuery v1.6.4 无法识别 selectmenu(),错误 : "undefined is not a function"

css - 为什么下拉元素在悬停在每一行上时会向左移动?

javascript - 根据屏幕尺寸使用 jQuery 动态包裹 div

css - 使用 netbeans 自动缩进

jquery-ui - jquery ui 可拖动停止时减速

javascript - $.extend IE8 中的 jQuery 对象

jquery-ui - requirejs + jqueryui = $.widget 未定义

javascript - jQuery UI 小部件工厂 _on 事件返回意外事件目标

jquery-ui - 使用 jQuery UI 中的 Accordion ,我在最后点击的链接周围出现了不需要的蓝色突出显示

jquery-ui:如何在选择菜单项(选项)中设置类名?