Создание фона html-документа
есть ли способ сделать холст HTML5 фоном веб-страницы, которую я делаю, и поместить все элементы поверх него.
поэтому он действует как <body>
?
Я попытался сделать это с z-индексом и позиционированием элементов сверху, но затем они были щелкающими или фокусируемыми. Мне нужно, чтобы они все еще функционировали, но холст также был доступен только в фоновом режиме, а не там, где над ним есть элементы.
2 ответов
просто установить <canvas>
' s z-index
to -1
. Если ваш холст покрыт контейнерами сверху, имитируйте пользовательские события с помощью createEvent
.[1]
демо:http://jsfiddle.net/DerekL/uw5XU/
var canvas = $("canvas"), //jQuery selector, similar to querySelectorAll()
//...
function simulate(e) {
var evt = document.createEvent("MouseEvents");
evt.initMouseEvent("mousemove", true, true, window,
0, e.screenX, e.screenY, e.clientX, e.clientY, false, false, false, false, 0, null);
canvas[0].dispatchEvent(evt);
}
$("body > *").each(function () {
this.addEventListener("mousemove", simulate);
});
конечно, это было бы возможно с z-index
, скорее всего, холст не будет кликабельным, потому что вы работаете с контейнером, который находится поверх него. Поэтому, даже если кажется, что нет элемента, контейнер все еще существует, что мешает вам щелкнуть по холсту.