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 中定义的图像 id。我需要单击 newGame 图像按钮,然后必须调用 init() 方法。

4

2 回答 2

1

试试这个来触发事件:

$('#newGame').on('touchstart', function (e) {
    alert("Start");
    enableZoomButtons();
    can = document.getElementById('can');
    cxt = can.getContext('2d');
    init();
})
.trigger("touchstart");
于 2013-11-12T13:09:14.150 回答
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);
});

编辑:我删除了不必要的功能,但您可以再次放置它们

于 2013-11-12T13:13:40.533 回答