我有一个 javascript 回调,当有参数传递时没有被调用。这是在 jsbin 中工作的,所以有什么理由不能在 phonegap 中工作。这应该很简单。
<input type="file" id="soundInput">
<script type="text/javascript">
var type = 0;
function addSoundToSoundMenu() {
alert("callback success.");
}
var soundInput = document.getElementById('soundInput');
soundInput.addEventListener('change', function(e) {
handleFileSelect(e, type,addSoundToSoundMenu);
}, false);
function handleFileSelect(event, type, cb) {
var file = this.files[0]; // FileList object
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function(fs) {
gotFS(fs,file,type);
}, fail);
}
</script>
上面的例子没有调用handleFileSelect()。它仅在不带任何参数的情况下传递 handleFileSelect 时有效。
soundInput.addEventListener('change',handleFileSelect,false);
当然,我将 args 删除到 handleFileSelect() 以使其正常工作。
有什么我想念的吗。是否以编程方式创建输入字段会更改事件调度程序的处理方式。
还有什么我可以尝试的,也许是关闭的东西?以前有人遇到过这个问题吗?我无法想象它与phoneGap有什么关系。