我正在使用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>
答案 0 :(得分: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
检查此链接:how can I make jquery mobile "pagebeforeshow" event fire every time, not just on 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!')
});
});
}