Я определил 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 щелкнутого элемента.
Может кто-нибудь предложить?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вы можете попробовать использовать JQuery
$("#Submit").click(function(){
alert("button");
});
или зачем захватывать функцию щелчка элемента DOM, вы можете использовать свойство нажатия, чтобы определить функцию, вызываемую при нажатии кнопки.
<Button text = "Click Me" press = "onclickFn" ></Button>
В контроллере -
onclickFn : function(){
//body of click function
}
Мое требование другое. Я не хочу фиксировать событие в файле контроллера. Я хочу захватить с помощью элемента DOM
для какой цели вам нужен div? вероятно, есть способ UI5 выполнить ваше требование без прямого манипулирования элементами DOM...