У объекта нет метода Javascript - PullRequest
0 голосов
/ 05 февраля 2011

Я не знаю, почему у меня эта проблема.Ранее я использовал прототип в 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'

1 Ответ

11 голосов
/ 05 февраля 2011

Вы забыли ключевое слово new.Теперь он пытается вызвать ваш конструктор как обычную функцию, и это будет указывать на window или что-то еще.

new UserOptions("Fred");
...