Значение и цель JavaScript openCallBack: Функция contextMenu

Что-то, о чем не упоминалось, состоит в том, что функции шаблонов могут выводить типы параметров.

template <typename T>
void func(T t)
{
  T make_another = t;

Можно утверждать, что предстоящий оператор «typeof» может исправить это, но даже он не может разделиться другие шаблоны:

template <typename T>
void func(container<T> c)

или даже:

template <tempate <typename> class Container, typename T>
void func(Container<T> ct)

Я также считаю, что предмет специализации недостаточно охвачен. Вот простой пример того, что макросы не могут сделать:

template <typename T>
T min(T a, T B)
{
  return a < b ? a : b;
}

template <>
char* min(char* a, char* b)
{
  if (strcmp(a, b) < 0)
    return a;
  else
    return b;
}

Пространство слишком мало, чтобы перейти к специализации по типу, но то, что вы можете с ним сделать, насколько мне известно, - это ум -blowing.

0
задан Alexander 2 March 2019 в 03:35
поделиться

1 ответ

С помощью openCallBack вы можете определить свою функцию, которая будет динамически изменять состояние пунктов контекстного меню или выполнять любые другие действия, когда меню открывается по щелчку, перед его отображением:

function ContextMenu(contextContainerID, menuItemClickCallback, options)
{
    // skipped

    this.contextMenuContainer.click(function(e){

        // skipped

        if (options != null && typeof options !== "undefined" )
        {
            if (typeof options.openCallBack !== "undefined")
            {
                options.openCallBack(self);
            }
        }

        // skipped

        contextMenu.show();
        return false;
    });

    // skipped
}
0
ответ дан Sergey Nudnov 2 March 2019 в 03:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: