jsView: как получить текущий элемент во время "onBeforeChangeEvent"

Мне интересно, есть ли способ, которым я могу получить текущий элемент, который вызывает функцию onBeforeChangeEvent в jsViews. Я хочу получить текущий элемент, над которым он работает, чтобы выполнить некоторую дополнительную работу с jQuery.

Основной пример ниже:

  $.views.helpers({
    onAfterChange: function (ev)
    {

        //want to get element instance right here as an example.....
        if (!PageSettings.cancelUpsert && ev.type == "change")
        {
             //do somthing to element that is currently being processed.
        }
    }
  });

Я искал возвращаемые объекты, но смог найти стабильный способ добраться до элемента. Будем весьма благодарны за любые идеи или советы относительно того, где искать. Спасибо!

1 ответ

Решение

Если вы ищете связанный с данными элемент, такой как вход: <input data-link="..." />, чье событие изменения вызвало изменение, вы можете получить это либо из this.linkCtx.elem или же ev.target,

В целом, this указатель является view объект, который изменяется

Существует несколько вспомогательных методов для объекта представления, которые можно использовать для доступа к различным элементам в этом представлении. Например this.contents("someSelector") вернет объект jQuery, который выбирает элементы верхнего уровня в этом представлении, и this.contents(true, "someSelector") применит селектор для фильтрации всех элементов в представлении (глубокий поиск, а не только верхний уровень).

(Вы можете использовать селектор "*" чтобы получить все элементы)

Другие вопросы по тегам