Моя привязка работает только в Firefox, любой юридический код? - PullRequest
0 голосов
/ 16 августа 2011

Я изучаю JS (думаю, я не слишком стар, чтобы учиться) и программирую приложение для рисования электроники по адресу: http://3lectronics.com/draw/Atarado-Draw1.html

Самая мощная помощь, которую я могу получить, здесь, потому что многоребята делятся знаниями.Я установил причину привязки 20x20px к сетке, потому что нашел какой-то хакерский (очевидно) способ сделать это.Он работает только с Firefox и Seamonkey ... code:

function ev_canvas (ev) {
if (ev.layerX || ev.layerX == 0) { // Firefox
  x2 = (ev.layerX /2).toFixed(-1) *2 ;
  y2 = (ev.layerY /2).toFixed(-1) *2 ;
} else if (ev.offsetX || ev.offsetX == 0) { // Opera
  x2 = ev.offsetX;
  y2 = ev.offsetY;
}

Он отлично работает (вы можете попробовать), но другие браузеры не слушаются его.Я обнаружил, что Chrome не нравится отрицательное значение в .toFixed (), и без этого он работает, но у меня нет привязки ... Любая идея .... Спасибо.

1 Ответ

2 голосов
/ 16 августа 2011

toFixed поддерживается только от 0 до 20 в Chrome

Другим способом округления до 10-го места было бы разделить на 10, округлить, а затем умножить на 10.

var x2 = Math.round(ev.layerX /20) *20 ;

Не уверен, что случилось с *2 /2, который у вас есть, но я оставил его там.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...