Я не получаю, как вызвать события касания при загрузке страницы. Я пробовал с кодом ниже, но событие не стреляет. Может ли кто-нибудь сказать мне, где я делаю неправильно?
$(window).onload = setTimeout(function () {
document.getElementById('resetBtn').style.display = 'none';
$('#splash').attr('src', 'img/splash.png');
disableZoomButtons();
setTimeout(function () {
$("#splashDiv").remove();
$('#menuBg').attr('src', 'img/wood.png');
$('#about').attr('src', 'img/about1.png');
$('#help').attr('src', 'img/help1.png');
$('#newGame').attr('src', 'img/newgame.png');
$('#newGame').on('touchstart', function (e) {
alert("Start");
enableZoomButtons();
can = document.getElementById('can');
cxt = can.getContext('2d');
init();
});
});
}, 2000);
Вот код HTML
<body>
<img id="background" />
<div id="splashDiv">
<img id="splash" src="img/splash.png"
style="width: 100%; height: 100%; z-index: 1; position: absolute;" />
</div>
<div id="menuBgDiv">
<img id="menuBg" src="img/wood.png"
style="width: 100%; height: 100%; z-index: -1; position: fixed;" />
<ul>
<li><img class="menus" id="newGame" src="img/newgame.png" />
</li>
<li><img class="menus" id="help" src="img/help1.png" />
</li>
<li><img class="menus" id="about" src="img/about1.png" />
</li>
</ul>
</div>
</body>
Можно ли вызвать события касания в функции onload (НЕ триггеры)
newGame id - это идентификатор изображения, определенный в HTML. Мне нужно щелкнуть по кнопке newgame image, после чего нужно вызвать метод init().
Попробуйте запустить событие:
$('#newGame').on('touchstart', function (e) {
alert("Start");
enableZoomButtons();
can = document.getElementById('can');
cxt = can.getContext('2d');
init();
})
.trigger("touchstart");
Вместо
$(window).onload
использование
$(document).ready( function() {} );
Возможная проблема заключается в том, что вы присоединяете событие еще до загрузки фактического элемента. А также, что такое использование setTimeout? я не совсем понимаю. Просто используйте приведенный выше код и удалите setTimeout.
$(document).ready( function() {
document.getElementById('resetBtn').style.display = 'none';
setTimeout(function () {
$('#splash').attr('src', 'img/splash.png');
$("#splashDiv").remove();
$('#menuBg').attr('src', 'img/wood.png');
$('#about').attr('src', 'img/about1.png');
$('#help').attr('src', 'img/help1.png');
$('#newGame').attr('src', 'img/newgame.png');
$('#newGame').click( function (e) {
alert("Start");
can = document.getElementById('can');
cxt = can.getContext('2d');
});
}, 2000);
});
Отредактировано: я удалил ненужные функции, но вы можете снова их добавить
touchstart
событиеtouchstart
?