захватить атрибут всплывающего объекта в поп-действии - PullRequest
0 голосов
/ 13 января 2020

У меня есть функция действия для моего всплывающего окна, и мне нужно получить доступ к атрибутам объекта из всплывающего окна в функции действия. В приведенном ниже коде я хотел бы получить доступ к {SAWID} - я не вижу его в параметре события, отправленном в функцию.

var ContactsAction = {
                title: "Get Contacts",
                id: "contacts-this",

            };

            var template = {
                // autocasts as new PopupTemplate()
                title: "{Name}",
                content: "{SAWID}",
                actions: [ContactsAction]
            };

      // Event handler that fires each time an action is clicked.
            view.popup.on("trigger-action", lang.hitch(this, this.Contacts));

            // Executes when GetContacts is clicked in pop ups
        Contacts: function (event) {
            if (event.action.id === "contacts-this") {
                //grab SAWID
            }
        }

Спасибо

Пит

1 Ответ

0 голосов
/ 13 января 2020

Я нашел что-то, что работает, хотя это, вероятно, не лучший способ сделать это:

есть свойство innerText в объекте even.target, которое включает весь текст во всплывающем окне. Если я проанализирую свойство innerText, я получу то, что мне нужно: Если кто-нибудь знает более чистый способ, пожалуйста, дайте мне знать. Спасибо

       // Executes when GetContacts is clicked in pop ups
        Contacts: function (event) {
            if (event.action.id === "contacts-this") {
                var str = event.target.innerText;
                var start = str.indexOf("Close") + 6;//"Close" always precedes my SAWID
                var end = str.indexOf("Zoom") - 1;//"Zoom" is always after my SAWID
                var SAWID = str.substring(start, end);
                alert(SAWID);
            }
        }
...