0

私はここでかなり長い間完全に困惑していました。誰かが私が間違っていることを教えてもらえますか? 次のような ID でいくつかのメニューを設定しました。

<li><label for="website">Select Website:</label>
        <select name="website" id="website" />
            <option value="http://www.site1.com">Website 1</option>
            <option value="http://www.site2.com">Website 2</option>
            <option value="http://www.site3.com">Website 3</option>
        </select>
    </li>

そしてJavaScriptを次のように使用します:

    var sd = opera.contexts.speeddial;

    var weburl = document.getElementById( 'website' );

    weburl.addEventListener( 'change', function() {
        sd.url = this.value;
    }, false );

    if ( sd.url ) {
        weburl.value = sd.url;
    }

Opera Speed Dial の URL をクリックしたときにその URL の宛先を変更しようとする試み。しかし、うまくいきません。メインの index.html に js を追加する必要があるような気がしますが、よくわかりません。

4

1 に答える 1

1

コードが実行される順序を覚えておく必要があると思います。上記のコードでは、

if ( sd.url ) {

一部はすぐに実行されますが、sd.url を設定するコードは、SELECT 要素で何かを選択した場合にのみ実行されます。したがって、if - 部分が実行されるとき、sd.url はまだ設定されません。

それは役に立ちますか?

于 2012-02-18T09:24:37.577 に答える