当鼠标悬停在元素上时,我正在尝试动态更改光标样式。光标应该是“move”或“default”,具体取决于方法返回的布尔值。 代码是这样的:
$("#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的一个错误。
我也测试了这段代码;
(Windows版本)