我正在用一些Javascript来创建Safari扩展。我遇到了一些调试它的问题,所以我删除了特定于扩展的组件来测试一些东西。简短版本:点击此javascript(moveButton
)生成的按钮不会执行任何操作。我在Safari的控制台中没有出现任何错误,我能做的最好的谷歌搜索没有发现任何有用的东西。
我正在Javascript中生成所有按钮代码,因为一旦我将其调整回我的扩展,我需要传递一个数组。
有什么想法或建议吗?我完全去吃午饭吗?
function popoverEvent(event) {
var tabs = new Array("test1","test2","test3");
var tabsElement = document.getElementById("tab-list");
tabsElement.innerHTML = ""; // clear previous contents
var formElement = document.createElement('form');
formElement.setAttribute('name', 'tabs-form');
for (var i = 0; i < tabs.length; i++ ) {
var labelElement = document.createElement('label');
labelElement.setAttribute('for', 'tab' + i);
var divElement = document.createElement('div');
var inputElement = document.createElement('input');
inputElement.setAttribute('id', 'tab' + i);
inputElement.setAttribute('name', 'tabcheckboxes');
inputElement.setAttribute('value', i);
inputElement.setAttribute('type', 'checkbox');
var titleElement = document.createTextNode('testTitle' + i);
var urlElement = document.createElement('div');
urlElement.setAttribute('class', 'url');
urlElement.innerHTML = "testURL" + i;
divElement.appendChild(inputElement);
divElement.appendChild(titleElement);
divElement.appendChild(urlElement);
labelElement.appendChild(divElement);
formElement.appendChild(labelElement);
}
// Create button
var moveButton = document.createElement('button');
moveButton.setAttribute('type', 'button');
moveButton.onClick=function() {alert('Here is a pop up message');};
moveButton.innerHTML = "Move to New Window";
formElement.appendChild(moveButton);
tabsElement.appendChild(formElement);
}
答案 0 :(得分:3)
您应该使用onclick
而不是onClick
:
变化:
moveButton.onClick=function() {alert('Here is a pop up message');};
要:
moveButton.onclick=function() {alert('Here is a pop up message');};
答案 1 :(得分:0)
var moveButton = document.createElement('input');
moveButton.type = "submit"; //don't need that
moveButton.setAttribute('type', 'button');
moveButton.onClick=function() {alert('Here is a pop up message');};
moveButton.innerHTML = "Move to New Window";
并不是要设置两次类型,而是创建元素'input'而不是'button'