Как правило, вы не можете щелкнуть «через» HTML-элементы, но у вас все еще есть много вариантов.
Одним из очень быстрых решений является использование pointer-events: none;
в вашем коде стиля для холста.
Это будет работать в Firefox / chrome / safari, но не в IE.
Для IE вам нужно стать умнее.
... Но почему бы просто не поставить кнопку сверху вместо холста сверху? Быстрый способ сделать это - дать холсту z-index: -1;
в его стиле.
Так что теперь все вместе:
<div>
<div id="layer1" style="position:absolute;top:0px;left:10px">
<input type="submit"/>
</div>
<canvas id="layer2" style="position:absolute;top:0px;left:10px; border: 1px solid black; pointer-events: none; z-index: -1;"></canvas>
</div>