function listContents(storagename) {
alert("inside function");
//Clear up the list first
$('#results').html("");
var files = navigator.getDeviceStorage(storagename);
var cursor = files.enumerate();
cursor.onsuccess = function () {
//alert("Got something");
var file = this.result;
if (file != null) {
var imageElement = $('<img height="100" width="75">');
imageElement.attr('src', window.URL.createObjectURL(file));
var tagvalue= $("<p>" + file.name + "," + file.lastModifiedDate + "," + file.type + "," + file.size + "</p>").appendTo('#results');
imageElement.appendTo("#results");
this.done = false;
}
else {
this.done = true;
}
if (!this.done) {
this.continue();
}
}
}
imageElement.onclick = function() {
console.log('onclick function!');
//alert('blah');
}
我正在从Firefox OS中的SDCard中检索音频文件列表。现在我想将这个文件上传到服务器,所以当我对图像元素进行onclick
时,我可以做任何事件,所以我试图显示警告框但是它不起作用。
答案 0 :(得分:0)
在imageElement
函数外部看不到listContents
,您需要通过绑定以其他方式注册onclick处理程序。
$('#results > img').on('click', function() {
console.log('onclick function!');
//alert('blah');
});
或者在listContents函数中注册它。
其次,如果您使用的是jQuery,请坚持使用,使用click()
,on()
方法,而不是普通的javascript事件(在您的示例中为onclick
)
作为提示:清理元素内容使用空函数,如:
$('#results').empty();