Чтение элемента div

Я определил sap.m.Button как представление SAP UI5, когда я вижу вкладку «Элементы» в инструменте разработчика, элемент выглядит так, как показано ниже.

<div class = "sapUiVltCell sapuiVltCell">
  <button id = "Submit" data-sap-ui = "Submit" class = "sapMBtn sapMBtnBase">
    <span id = "Submit-inner" class = "sapMBtnDefault sapMBtnInner sapMBtnText sapMFocusable">
       <span class = "sapMBtnContent" id = "Submit-content">
         <bdi id = "Submit-BDI-content">Submit</bdi>
      </span>
    </span>
  </button>
</div>

Когда я фиксирую нажатие кнопки с помощью функции элемента DOM onClick, я вижу, что Event.target.id имеет id = "Submit-BDI-content", который является последним элементом узла div, а не id Submit.

Мне нужен div ID элемента кнопки Submit, а не Submit-BDI-content

Я знаю, что родительский элемент можно прочитать с помощью document.getElementById("Submit-BDI-content").parentNode.parentNode.parentNode, но я не хочу его использовать, так как хочу написать общую логику. В этом примере есть два элемента span, но возможно, что другая кнопка не имеет ни одного элемента span.

Я ищу логику, которая может дать мне элемент идентификатора div щелкнутого элемента.

Может кто-нибудь предложить?

для какой цели вам нужен div? вероятно, есть способ UI5 выполнить ваше требование без прямого манипулирования элементами DOM...

futu 11.02.2019 21:33
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
1
67
1

Ответы 1

Вы можете попробовать использовать JQuery

$("#Submit").click(function(){
    alert("button");
}); 

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

<Button text = "Click Me" press = "onclickFn" ></Button>

В контроллере -

onclickFn : function(){

//body of click function

}

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

swati 12.02.2019 09:54

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