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")
применит селектор для фильтрации всех элементов в представлении (глубокий поиск, а не только верхний уровень).
(Вы можете использовать селектор "*"
чтобы получить все элементы)