0

Safari拡張機能を作成するためにJavascriptを少し手に取っています。私はそれをデバッグする際にいくつかの問題に遭遇していたので、いくつかのことをテストするために拡張機能固有のコンポーネントを取り除きました。短いバージョン:この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";

タイプを2回設定するつもりはありませんでしたが、要素「ボタン」ではなく「入力」を作成しました

于 2012-07-13T02:00:52.953 に答える