0

我正在使用一些 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);
}
4

2 回答 2

3

onclick你不应该使用onClick

改变:

moveButton.onClick=function() {alert('Here is a pop up message');};

到:

moveButton.onclick=function() {alert('Here is a pop up message');};
于 2012-07-13T02:02:17.330 回答
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";

不是要设置两次类型,而是创建元素“输入”而不是“按钮”

于 2012-07-13T02:00:52.953 回答