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 tagvalue = $("<p>" + file.name + "," + file.lastModifiedDate + "," + file.type + "," + file.size + "</p>").appendTo('#results');
console.log('tagvalue is ' + tagvalue);
tagvalue.appendTo("#results");
console.log('tagvalue is upended ' + tagvalue);
var r = $('<input type="button" value="upload" id="upload" / >');
console.log('button created!' + r);
r.appendTo("#results");
console.log('button uploded!' + r);
this.done = false;
} else {
this.done = true;
}
if (!this.done) {
this.continue();
}
}
$('#upload').on('click', function () {
console.log('onclick function!');
//alert('blah');
});
}
在这里我动态创建了上传按钮并应用了onclick
事件
我希望点击上传按钮后用户能够在服务器上上传音频文件。如果我申请onclick
普通按钮上的事件正在工作,但动态创建按钮时它不起作用。任何人都可以帮助我吗??
Use event delegation http://learn.jquery.com/events/event-delegation/
事件委托允许我们将单个事件侦听器附加到父元素,该事件侦听器将为匹配选择器的所有后代触发,无论这些后代现在存在还是将来添加。
对于动态添加的元素,使用静态父级将事件添加到动态添加的元素。
$('#results').on('click', '#upload', function () {
// Handler here
});
参见文档:on https://api.jquery.com/on/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)