我有以下代码。它似乎工作正常,因为所有图像元素在所有 ios 设备和较新的 Android 上都是可点击的,但只有加载页面时屏幕上可见的元素在 Android 4.0 上是可点击的。
$('a.openMediaDetails').on('click', function() {
这是上下文中的代码。
var HTML = [];
var jsonParse = JSON.parse(evt.target.result);
$.each(jsonParse.MediaList, function(mediaDataIndex, mediaDataVal) {
HTML.push('<div class="item1"> <a data-transition="slide" data-mediaurl="', mediaDataVal.BigImageUrl, '" data-caption="',mediaDataVal.Caption,'" class="openMediaDetails"><img src="data:image/jpeg;base64,', mediaDataVal.ThumbBase64String, '" class="image" alt=""/></a> </div>');
});
$('#media-list1').html(HTML.join(''));
//$('#media-list .item:last, #media-list .item:nth-last-child(2)').addClass('disBorderBottom');
HTML.length = 0;
$('a.openMediaDetails').on('click', function() {
var networkState = navigator.connection.type;
var states = {};
states[Connection.NONE] = false;
if(states[networkState]===false){
alert('No network connection');
$('.openMediaDetails').removeAttr('href');
}else{
$('.openMediaDetails').attr('href', '#imageDetails');
$('#imageDetails #mediaDetailsImage').attr('src', $(this).data('mediaurl'));
$('#imageDetails .download').attr('href', $(this).data('mediaurl'));
$('#imageDetails #image_caption').html($(this).data('caption'));
}
});
最佳答案
对于动态加载的元素,按以下方式使用 .on()
$(document).on('click','a.openMediaDetails', function() {
关于android - JQuery .on() 方法未绑定(bind)到 Android 4.0 Phonegap 应用程序中的所有元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34433665/