Переместить div со стрелкой в ​​jQuery 1.6.1 не работает

В JQuery 1.6.1 мы можем использовать += или -= с css() так же, как мы можем сделать с animate(), но это не работает. Кто-нибудь видит проблему с кодом?

$(document).keydown(function(e) {  
    if (e.which == 37) { //37 left arrow key.
        $('div').css('left', '-=10px')
    }
});

Отметьте http://jsfiddle.net/QLFEy/3

Ответы

Ответ 1

Ваш код верен и должен работать. Глядя на jQuery-трекер ошибок, я нашел уже открытый билет для этого http://bugs.jquery.com/ticket/9237. Он работает с шириной и высотой, но не с левым, по крайней мере. Согласно билету, исправление должно быть доступно в 1.6.2

Обновление 05/13/11

Проблема была исправлена ​​, и исправление в настоящее время доступно в версии WIP, которое можно найти в http://code.jquery.com/jquery-git.js. Это самая последняя не-производственная версия jQuery с последними исправлениями. Исправление должно быть официально доступно в следующей версии 1.6.2.

Ответ 2

Очевидно, что ошибка в jQuery. Кажется, что jQuery не добавляет "px" после значения.

[2011-05-12 21:46:17] CSS - file://localhost/D:/test.html
DOM style property
Invalid value for property: margin-left
Line 1:
  260
  ---^