Можно ли инициировать сенсорные события при загрузке страницы (в функции загрузки)?

0

Я не получаю, как вызвать события касания при загрузке страницы. Я пробовал с кодом ниже, но событие не стреляет. Может ли кто-нибудь сказать мне, где я делаю неправильно?

$(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().

  • 0
    Я смущен вашим вопросом. Вы запрашиваете код, который позволяет запускать код один раз при загрузке страницы, а затем каждый раз, когда touchstart событие touchstart ?
  • 0
    @Qantas94Heavy Qantas94Heavy Сэр, одним словом мне нужно вызвать сенсорные события при загрузке страницы. Является ли это возможным? Потому что я пытаюсь, но это не стрельба.
Показать ещё 7 комментариев
Теги:
onload

2 ответа

1

Попробуйте запустить событие:

$('#newGame').on('touchstart', function (e) {
    alert("Start");
    enableZoomButtons();
    can = document.getElementById('can');
    cxt = can.getContext('2d');
    init();
})
.trigger("touchstart");
  • 0
    Нет, сэр, на самом деле я пытаюсь: показывать заставку через 2 секунды через 2 секунды, еще одно изображение будет отображать menuBg, в котором есть три изображения newgame, about и help. Когда я щелкаю изображение новой игры, тогда только init (метод 0 должен вызывать, если я его запускаю, выполняется загрузка страницы только init ().
  • 0
    @Mallikarjun: вы должны были написать это в своем вопросе - это хорошая идея, чтобы быть как можно более подробным, во-первых, чтобы избежать такого рода путаницы.
Показать ещё 1 комментарий
0

Вместо

$(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);
});

Отредактировано: я удалил ненужные функции, но вы можете снова их добавить

  • 0
    Пробовал НО не работал
  • 0
    $ ('# newGame'). touchstart (function (e) {/ * function * /});
Показать ещё 8 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню