2014-01-14 3 views
0

Я строй приложения с помощью Jquery1.7.1, где консоль получает сообщение об ошибке, что:Почему эта часть источника jquery не определена?

for (n = 0; n < r.length; n++) s = r[n], (e || k === s.origType) && (!c || c.guid === s.guid) && (!l || l.test(s.namespace)) && (!d || d === s.selector || d === "**" && s.selector) && (r.splice(n--, 1), s.selector && r.delegateCount--, p.remove && p.remove.call(a, s)); 

Неопределенен. Я получаю эту ошибку, когда это выполняется:

function goToIndex() { 
pageView.setCurrentPage(pageView.getIndex()); 
pageView.setNav(pageView.getIndexNav()); 
ko.applyBindings(pageView); 
} 

Который не включает JQuery, так что я не уверен, почему это происходит. Единственный jquery, связанный с этим, - обработчик кликов на предыдущей функции, но вызывает событие socket.io, которое идет на сервер node.js, и возвращаемое событие вызывает эту функцию. Если кто-то может помочь, это будет очень признательно.

+0

Исходный код jQuery не является тем, что не определено. Я не думаю, что вы правильно читаете сообщение об ошибке. – Blazemonger

+0

Это то, что говорит консоль: '19: 46: 10.352 TypeError: s undefined jquery-1.7.1.js: 14 ' –

+0

, и эта строка является первой частью кода –

ответ

1

Вопрос в заголовке («Почему эта часть источника JQuery не определено?») Был дан ответ в комментариях: ни одна часть в источника JQuery не определена, она не будет просто попросили обработать переменной, которая не определена ,

Заданный вопрос («Почему я получаю сообщение об ошибке« xxx is undefined »?) Не несет ответственности, не без дополнительного источника для воспроизведения проблемы.

В комментариях вы задаете альтернативный вопрос: «Может кто-то указать мне в направлении, в котором я должен смотреть». @Blazemonger имеет ответ: посмотрите в своем отладчике JavaScript, чтобы определить, где возникла проблема.

Что может помочь в понимании этой проблемы, так это загрузить uncompressed version of your jQuery при вводе кода в свой отладчик. Основываясь на фрагменте JQuery вы вывесили в этом вопросе (в частности, «delegateCount--»), я бы сказал, что исключение здесь:

// Detach an event or set of events from an element 
remove: function(elem, types, handler, selector, mappedTypes) { 
     // ... abbreviated 

     // Remove matching events 
     for (j = 0; j < eventType.length; j++) { 
      handleObj = eventType[ j ]; 

      if ((mappedTypes || origType === handleObj.origType) && 
       (!handler || handler.guid === handleObj.guid) && 
       (!namespaces || namespaces.test(handleObj.namespace)) && 
       (!selector || selector === handleObj.selector || selector === "**" && handleObj.selector)) { 
       eventType.splice(j--, 1); 

       if (handleObj.selector) { 
        eventType.delegateCount--; 
       } 
       if (special.remove) { 
        special.remove.call(elem, handleObj); 
       } 
      } 
     } 

     // ... abbreviated 
} 

Где ваш сжатый s переменная соответствует несжатого handleObj переменной. Когда вы вводите отладчик там, обязательно проверьте значения локальных переменных и, если необходимо, зайдите в стек вызовов, чтобы проверить, где ваш код вызывает jQuery.

Смежные вопросы