Обрабатывать действие кнопки в списке - PullRequest
0 голосов
/ 31 октября 2011

Я пытаюсь разработать приложение для iphone, используя платформу sencha. Мне нужно показать список элементов в списке. Каждая ячейка в списке также содержит кнопку. Если пользователь нажимает кнопку в определенном индексе, товсплывающее окно должно отображаться рядом с кнопкой. Я использую следующий код для этого

itemTpl : '<div class="div1"><label class = "tag-name-hdr"> {tagnamehdr} </label> <label class = "tag-name-value" style="width:55px;"> value </label>   <input type="text" class ="tag-name-text" name="lname" />  <label class = "unit-name" > unit </label> <select class = "unit-name_dropdown" > <option>mg/dr</option> <option>gm/dr</option> <option>m/dr</option> </select> <input type="image" id="popupbtn" class="template_popup_button" src="Images/arrow_more_orange.png" > </div>',

        listeners : {
            //itemtap : function(list, index, item, e, popupbtn) {
            itemtap : function(list, index, item, evt) {
                if(evt.getTarget('.template_popup_button')) {

                    alert(item);
                    alert(index);
                    showOverlay(item, evt, index);

                }
            }
        }

Теперь моя проблема заключается в том, что всплывающее окно отображается для выбранной ячейки. Мне нужно показать всплывающее окно рядомк нажатой кнопке. Есть ли способ получить объект нажатой кнопки, чтобы отобразить наложение / всплывающее окно рядом с этим. Теперь я передаю объект ячейки с выбранным элементом в качестве параметра «showOverlay», мне нужно передать объект нажатой кнопки Заранее спасибо..

1 Ответ

0 голосов
/ 05 ноября 2011

Переменная evt содержит информацию о событии.Вы можете проверить, является ли evt.target кнопкой (или кнопкой, на которую вы хотите воздействовать).

Обратите внимание, что если вам нужна только одна кнопка на ячейку, вы можете использовать параметр конфигурации onItemDisclosure,это добавит вам кнопку с обработчиком.

...