2011-02-05 11 views
0

なぜこの問題が発生するのかわかりません。私はJavaScriptで前にプロトタイプを使用して、それが正常に動作しますが、何らかの理由でそれがここで働いていません。オブジェクトにはメソッドがありませんJavascript

test.htmlという:

<script type="text/javascript"> 
     $(document).ready(function(){ 
     UserOptions("test"); 
    }); 
</script> 

UserOptions.js:私は入れません

function UserOptions(username){ 
    ... 
    var userOptions = document.createElement("div"); 
    userOptions.className = "userOptions"; 
    **this.createBtns(userOptions);** 
    userContainer.appendChild(userOptions); 


    contentCenter.appendChild(userContainer); 
    contentCenter.appendChild(br); 

    BuddyList(); 
    } 

    UserOptions.prototype = { 
     createBtns:function(parent){ 
      var self = this; 
      /* Add Buddy Button */ 
      var addBtnContainer = document.createElement("div"); 
      addBtnContinaer.className = "addBtnContainer"; 
    ...} 

をエラーオブジェクトにはメソッド 'createBtns'がありません

+0

オブジェクトを作成しようとする行も投稿できますか? –

+0

どこでこのエラーが発生しますか? – Pointy

+0

次の行にエラーが表示されます。this.createBtns(userOptions);私はそれを太字にした – Twidizle

答えて

11

newキーワードを忘れました。今ではコンストラクタを通常の関数として呼び出そうとしていますが、これはwindowなどを指します。

new UserOptions("Fred"); 
+0

ty ...プロトタイプがjavacriptを "オブジェクト指向"にしているのを忘れています – Twidizle

+3

@Twidizle:あなたの質問には、スコアの横に緑色のチェックマークが付きます)。私はあなたが以前のものに対して受け入れられた答えを記入していないのを見ます。 –

+1

@Twidizle 'new'はプロトタイプのものではありません。それはJavascriptのものです。 – Alex

関連する問題