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!')
        });
    });

document.ready ではありません

このリンクをチェックしてください:リフレッシュ時だけでなく、jqueryモバイルの「pagebeforeshow」イベントを毎回発生させるにはどうすればよいですか。上記のコードは、 が呼び出されたとき$.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 に答える