navigator.userAgent
.if(window.matchMedia("only screen and (max-width: 760px)").matches) {
//mobile device
} else {
//not mobile device
}
var gyroPresent = false;
window.addEventListener("devicemotion", function(event){
if(event.rotationRate.alpha || event.rotationRate.beta || event.rotationRate.gamma)
gyroPresent = true;
});
Принцип всплытия очень простой.
Когда на элементе происходит событие, обработчики сначала срабатывают на нём, потом на его родителе, затем выше и так далее, вверх по цепочке предков.
Задача: Создать платформу или выбрать CMS"ну или, там, создать сервис какой-нить, например, или сайт... да-не важно что: всё равно ж это всё одно и то же... только пишут по-разному..."
var html = elem("ul", {"id":"mylist"}, [
elem("li", null, "Item 1"),
elem("li", null, "Item 2"),
elem("li", null, "Item 3"),
]);
<ul id="mylist">
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
</ul>