2011-05-12 114 views
15

在JQuery 1.6.1中,我們可以使用+=-=css(),就像我們可以使用animate()一樣,但這不起作用。有沒有人看到代碼的問題?在jQuery 1.6.1中使用箭頭鍵移動div不起作用

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

檢查http://jsfiddle.net/QLFEy/3

+2

主持人說明:此問題下的評論已被刪除,因爲評論上的社區標誌會很快導致一次自動刪除的脫節和令人困惑的對話。 – 2011-05-13 04:26:27

回答

16

你的代碼是正確的,應該工作。看着jQuery bug跟蹤器,我在http://bugs.jquery.com/ticket/9237找到了一個已經打開的票。它適用於寬度和高度,但不適用於至少左側。據售票,修復應該可以在1.6.2

更新11年5月13日

問題一直固定修復該問題目前在WIP版本可以發現在http://code.jquery.com/jquery-git.js。這是帶有最新修補程序的jQuery的最新非生產版本。該修補程序應該在即將推出的1.6.2版本中正式提供。

+2

該錯誤引用帶連字符的屬性。 'left'不是連字符。 – 2011-05-12 19:52:26

+0

@Rocket請在發佈之前熟悉jQuery changlog。根據jQuery 1.6更改日誌,我們可以使用左側的http://blog.jquery.com/。 – Pinkie 2011-05-12 19:56:21

+0

@Pinkie:請熟悉這個問題(你問過它)。根據你發佈的jsFiddle,我們不能使用左邊,似乎是一個錯誤。 – 2011-05-12 19:57:15

1

顯然是jQuery中的一個bug。看起來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 
    ---^ 
+0

heh? 'margin-left'從哪裏來的? – Neal 2011-05-12 19:51:03

+1

我測試過各種CSS屬性。奇怪的是,高度,寬度,但不填充,邊距,左等工作... – seler 2011-05-12 19:52:04