为什么我的javascript onclick不能解雇?

时间:2012-07-13 01:56:44

标签: javascript onclick

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

2 个答案:

答案 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'