Я пытаюсь работать с KineticJS и у меня возникаю проблемы с этим:KineticJS: Определенный объект не определен?
Ладно, так что в верхней области моего файла JavaScript, у меня есть следующий маленькие лакомый:
var cuin = '';
//...
var cuinShow = new Kinetic.Text({
x: 320,
y: 81,
text: '',
fontSize: 18,
fontFamily: 'Lucida Bright',
fill: 'black'
});
И тогда я эта функция:
function updateText(){
cuinShow.setText(cuin);
return current + getAction() + $.localStorage('difficulty') + " =";
}
После тестирования Chrome говорит мне это не нравится мой код:
Uncaught TypeError: Cannot call method 'setText' of undefined
Теперь я знаю, что это, вероятно, имеет какое-то отношение к сфере применения cuinShow
, но я не знаю что. Кроме того, если это означает что-то (что я не думаю, что это будет, но на всякий случай), я вытеснил этот скрипт вместе с KineticJS. Вот HTML:
<!DOCTYPE html>
<head><script src="jquery-1.10.2.min.js"></script>
<script src="jquery.storage.js"></script></head>
<body>
<div id="container"></div>
<script src="kinetic-v4.5.4.min.js"></script>
<script src="kgame.js" defer="defer"></script>
</body>
Любая помощь с этим было бы весьма признателен.
Вы пытались использовать 'window ['cuinShow'].setText (cuin); 'в вашей функции updateText? – Divey
Нет, но это тоже не исправить. Я попробовал 'stage.get ('cuinShow'). SetText (cuin);', хотя, и это дало мне эту ошибку: 'Uncaught TypeError: Object [object Object] не имеет метода setText''. Я не уверен, что это шаг вперед или назад. – belph
Попробуйте использовать 'console.log (stage.get ('cuinShow'))' и проверить результат на панели разработчиков Chrome, чтобы убедиться, что это объект, который вы ожидаете. Я бы подумал, что это скорее всего проблема, но трудно сказать, не видя всего сценария или не имея более мелкий тестовый пример, который воспроизводит его. Можете ли вы воспроизвести его с помощью http://jsfiddle.net? – Divey