如何判断模块(下拉列表,复选框等)是否已绑定?

时间:2014-10-23 03:19:05

标签: javascript jquery semantic-ui

在语义用户界面中,如何判断赠送.ui.dropdown是否已经初始化为下拉列表(使用$(.ui.dropdown).dropdown(...))?

我问,因为我想定义一个'后退'这将使用默认参数初始化任何未初始化的下拉列表(或复选框或其他JavaScript绑定模块)。但是,将它们初始化两次通常会产生奇怪的行为。

示例:

$('.ui.dropdown.special').dropdown({ action: somethingSpecial() });

// Later...

$('.ui.dropdown').each(function()
{
    if (/* $(this) is not already a dropdown */)
    {
        $(this).dropdown();
    }
});

1 个答案:

答案 0 :(得分:0)

我到目前为止找到的唯一解决方法是手动添加属性并检查它:

$.fn.safeDropdown = function(args)
{
    $dropdown = $(this);

    if (!$dropdown.is('[data-semantic]'))
    {
        $dropdown.attr('data-semantic', 'dropdown');
        $dropdown.dropdown(args);
    }
};

但这不太理想,因为它需要更改所有现有代码,因为输入时间更长。