3

我正在使用 Phonegap 构建一个应用程序,我遇到了一个奇怪的问题,即绑定到点击事件不起作用,有人知道为什么吗?

document.addEventListener("deviceready", onDeviceReady, false);

function onDeviceReady() {
    navigator.geolocation.getCurrentPosition(onSuccess, onError);

    $('._jsClick').on('click', function() {
        alert('Hi!')
    });

这是HTML

<button class="_jsClick">Click Here!</button>     
4

1 回答 1

2

首先,您应该将点击功能更改为:

$('._jsClick').on('click', function(event) {
        alert('Hi!')
    });

你也应该:

$('div:jqmData(role="page")').on('pagebeforeshow', function(){       
    $('._jsClick').on('click', function() {
        alert('Hi!')
    });
});

$('div:jqmData(role="page")').live('pagebeforeshow', function(){       
        $('._jsClick').on('click', function() {
            alert('Hi!')
        });
    });

未准备好文档

检查此链接:如何让 jquery mobile "pagebeforeshow" 事件每次都触发,而不仅仅是 refresh。上面的代码会在被调用时$.mobile.changePage被调用。

这应该是这样的:

document.addEventListener("deviceready", onDeviceReady, false);

function onDeviceReady() {
    navigator.geolocation.getCurrentPosition(onSuccess, onError);
    $('div:jqmData(role="page")').die('pagebeforeshow');
    $('div:jqmData(role="page")').live('pagebeforeshow', function(){    
       $('._jsClick').off('click'); 
       $('._jsClick').on('click', function() {
        alert('Hi!')
       });
     });
    }
于 2013-03-23T08:29:02.083 回答