The report.on should work based on my test. Ensure that var report is in the correct context.
<html><script src="https://microsoft.github.io/PowerBI-JavaScript/demo/node_modules/jquery/dist/jquery.js"></script><script src="https://microsoft.github.io/PowerBI-JavaScript/demo/node_modules/powerbi-client/dist/powerbi.js"></script><script type="text/javascript"> window.onload = function () { var embedConfiguration = { type: 'report', accessToken: 'Token', id: 'reportid', embedUrl: 'https://app.powerbi.com/reportEmbed?reportId=d99e763f-xxxx' }; var $reportContainer = $('#reportContainer'); var report = powerbi.embed($reportContainer.get(0), embedConfiguration); report.on('loaded', function() { console.log('report.on - loaded'); }); } </script><div id="reportContainer" powerbi-settings-nav-content-pane-enabled="true" powerbi-settings-filter-pane-enabled="true"></div></html>