4
我試圖在鼠標位於元素上時動態更改光標樣式。根據方法返回的布爾值,遊標應該是「移動」或「默認」。 的代碼是這樣的:在Opera中使用jquery將動態光標樣式分配給元素
$("#elemId").mousemove(function(event) {
if(cursorShouldBeMove()) {
$(this).css({'cursor':'move'});
} else {
$(this).css({'cursor':'default'});
}
}
此代碼的工作就像在IE8,FF3,Chrome和Safari魅力。 只有Opera無法正確處理它。
我正在使用Opera 9.6.4
有沒有人有一個想法如何解決這個問題?
我準備了一個樣本進行測試;
var cursorStatus = true;
setInterval(function() { cursorStatus = !cursorStatus; }, 500);
function cursorShouldBeMove() {
return cursorStatus;
}
$(function() {
$("#elemId").mousemove(
function(event) {
$(this).css("cursor", cursorShouldBeMove() ? "move" : "default");
}
);
});
如果您將鼠標從#elemId以外移動到其內部幾次,您將看到光標將會改變。但是,如果將鼠標放在#elemId中並移動鼠標,則光標不會更改。
該代碼非常簡單。我認爲這是Opera的一個bug。
我測試了這個代碼也;
- 火狐3.5.1(工作)
- 的Internet Explorer 7(工作)
- 谷歌瀏覽器2.0(工作)
- Safari瀏覽器3.2(工作)
(Windows版本)