我在加载页面时更改光标时遇到问题;我的代码是:
Event.observe(window, 'load', function() {
document.body.style.cursor = 'wait';
$$('select').each(function(s) {
var ajaxRequest = new Ajax.Request(
'/some_ajax_proc',
{
页面加载时,光标不会改变。但是它在其他事件监听器中没有问题,例如:
$('mytxt').observe('change', function() {
document.body.style.cursor = 'wait';
}
更新:好的,它确实改变了光标,但由于在Ajax循环之后有一个document.body.style.cursor = 'default';
,它会立即将其更改回来,所以我猜这是一个线程问题。在这种情况下的任何提示?
答案 0 :(得分:2)
你试过这个吗?
Ajax.Responders.register({
onCreate: function() {
if (Ajax.activeRequestCount === 1) {
//Code for change the cursor, something like this:
document.body.style.cursor = 'wait';
}
},
onComplete: function() {
if (Ajax.activeRequestCount === 0) {
// End loading...
....
}
}
});
答案 1 :(得分:0)
这种语法怎么样:
Event.observe(window, 'load', function() {
$(document.body).setStyle({
cursor: 'wait'
});
});
这适用于我,但事实上,你是否有定义了游标的元素,或者有其他光标样式(可能是可拖动的项目或可点击的链接)覆盖的元素?
我希望看看<body>
标记是否实际上使用类似Firebug或Chrome开发者工具的方式实际应用了该样式。
答案 2 :(得分:-1)
因为,你已经在使用jquery了。
$('mytxt').observe('change', function() {
$("body").css("cursor", "wait");
}