I want to create a dynamic HTML template on click of a canvas.
This is what I tried:
var btn = document.createElement("div");
btn.classList.add("custom-signature-btn-row");
btn.classList.add("d-flex");
btn.innerHTML = `
<div class="btn-grid d-flex mr-2">
<span class="element-icon drag-icon md-icon sign-btn">drag_indicator</span>
<button class="md-button md-primary md-theme-default button-custom-regular" v-on:click="toggleSignature()">
Signature
</button>
<div class="signature-dropdow" v-bind:class="{ active: isActive }">
<ul>
<li>
<div class="md-layout-item">
<div class="md-field">
<label for="movie">Assigned to Anyone</label>
<select name="movie" class="md-select" id="movie">
<option class="md-option" value="fight-club">Fight Club</option>
<option class="md-option" value="godfather">Godfather</option>
</select>
</div>
</div>
</li>
</ul>
</div>
</div>
`;
document.addEventListener('click', function(event) {
if (event.target && event.target.classList.contains("pdf-canvas")) {
console.log(event.target.parentNode);
event.target.parentNode.appendChild(btn);
}
});
The problem with above code is v-bind and v-on won't work with this approach.