Использование JavaScript для рендеринга HTML; ничего не появляется, но значения будут предупреждать - PullRequest
1 голос
/ 08 июня 2010

Я беру некоторую информацию из некоторых переменных, которые я уже определил вне этой функции, чтобы создать текстовое поле html svg.

Вот функция, которая доставляет мне неприятности:

 RenderTextBox:function()
{
  alert('this.x: ' + this.x);
  alert('this.y: ' + this.y);
  this.textBox = paper.text(this.x, this.y, this.htmlTextBox);
 }

Предупреждения работают правильно, и мне подсказывают ожидаемые значения. Однако последняя строка, которая должна создать текстовое поле, нигде не будет видна. Кто-нибудь знает почему?

Если я заменим 'this.x, this.y..' на числовые значения в последней строке функции, текстовое поле будет размещено правильно. Только когда я использую 'this.x' и 'this.y', у меня возникают проблемы.

Ответы [ 2 ]

4 голосов
/ 08 июня 2010

Иногда числовые значения преобразуются в строки. Это один из очень плохих моментов в javascript: переменные не нужно вводить.

Вы должны попытаться разобрать их как int, чтобы они снова реагировали как целые числа: http://www.w3schools.com/jsref/jsref_parseInt.asp

0 голосов
/ 08 июня 2010

Wild Guess: вы пытаетесь поместить this.x и this.y в переменные и затем передать эти переменные в вызов функции в последней строке?

Что-то вроде:

var tx = this.x;
var ty = this.y;
this.textBox = paper.text(tx, ty, this.htmlTextBox);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...