Добавить событие для выбора вкладки в HTML-клиенте Lightswitch
Использование HTML-клиента Lightwitch 2013. Я пытаюсь добавить событие, которое будет срабатывать, когда выбрана вкладка на экране (или нажата). Я не получаю никакого результата со следующим кодом:-
myapp.ViewThing.HistoryTab_postRender = function (element, contentItem) {
$(element).click(function () { alert("clicked on tab !!!"); });
$(element).select(function () { alert("selected tab !!!"); });
};
Выше приведен код пост-рендера для вкладки на экране. Такой же код работает для других объектов экрана, например, текстовых полей.
Любая идея, что я делаю неправильно, или почему это не должно работать для вкладок?
Спасибо!
2 ответа
Вы можете использовать jQuery для подключения соответствующего слушателя к контейнеру вкладок (один раз на экран в любом событии postRender) и обрабатывать только активированную в данный момент вкладку
myapp.ViewThing.HistoryTab_postRender = function (element, contentItem) {
$(".msls-tabs-container li").on("click", function (e) {
$.each(contentItem.screen.details.pages, function () {
if (this.___isActivated) {
// use 'this'
};
});
});
};
другая возможность - искать в дереве DOM ближайший соответствующий div, используя
myapp.ViewThing.HistoryTab_postRender = function (element, contentItem) {
$(element).closest("div[data-role='page']").find(".msls-tabs-container li").click(function (e) {
// use $(this)
});
};
Попробуйте это в созданной функции
$($.mobile.activePage
.find(".msls-screen-tab")[4]).on("click", function (e) {
//Do something.
});
}, 0);
[4] - это порядок вкладок, начиная с [0] для первой вкладки.
С уважением, Свен