Is it possible to use onclick inside of a string literal?
I have a page view like so:
const page = () => {
const htmlOutput = `
<button
onclick="openMessageComposer"
id="messageCta">Message</button> // Using the id works
`;
document.getElementById('app').innerHTML += htmlOutput;
document.getElementById('messageCta').onclick = () => {
console.log("openMessageComposer")
}
}
export default page;
It's being used in a router like so:
import page from './page.js';
window.onload = () => {
page()
}
which is imported in my index.html file as a module as <script type="module" src="router.js"></script>
This works.
However, I'd like to avoid document.getElementById('messageCta').onclick. Is there a way to use the onclick event instead?
Something like
const openMessageComposer = () => {
console.log("openMessageComposer")
}
which would exist inside the page component.