1

我正在开发一个 phonegap 应用程序,并且有一个奇怪的情况,即 html 输入按钮的 onclick 没有触发。该按钮确实出现在页面上。我单击按钮,看到按钮上的阴影,所以我知道它正在被单击,但该功能不会触发。代码如下。我采用相同的代码并将其放在 jsfiddle 中,它可以按预期工作。我尝试通过 jquery 设置它,但结果相同。

console.log('making photo button');
var photoInput = document.createElement('input');
photoInput.type = 'button';
photoInput.value = 'Add Photo';
photoInput.onclick = function () {alert('photo button clicked');};
console.log(photoInput.onclick);
form.appendChild(photoInput);

两个 console.logs 都会触发,第二个的输出是上面设置的 onclick。为了增加怪异,我在这个下方创建了另一个输入按钮,语法相同但点击不同,它没有问题。唯一的区别是这个块在一个 for 循环中的 switch case 内,动态构建表单,但另一个按钮是在之后创建和附加的。由于显示了日志语句,因此不可能没有到达代码。

提交前编辑:我刚刚开始工作。在创建并附加了循环和其他输入按钮并将表单附加到文档后,我运行以下代码。

var photoButton = document.getElementById('photoButton');
photoButton.onclick = function () {alert('photo button after clicked');};

我可以使用它,但是如果有人知道,我想了解为什么它最初不起作用。

4

0 回答 0