2

加载页面时更改光标时遇到问题;我的代码是:

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';
   }

更新:好的,它确实改变了光标,但是由于document.body.style.cursor = 'default';在 Ajax 循环之后有一个,它会立即将它改回来,所以我猜这是一个线程问题。在这种情况下有什么提示吗?

4

3 回答 3

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...
                     ....
                  }
               }
});
于 2012-07-10T17:22:49.837 回答
0

这个语法怎么样:

Event.observe(window, 'load', function() {
  $(document.body).setStyle({
    cursor: 'wait'
  });
});

这对我有用,但问题是,您是否有定义了光标的元素,或者有其他光标样式(可能是可拖动项目或可点击链接)覆盖?

我想看看<body>标签是否实际上具有使用 Firebug 或 Chrome 开发人员工具等实际应用的样式。

于 2012-07-04T19:46:02.573 回答
-1

因为,您已经在使用 jquery。

$('mytxt').observe('change', function() {
   $("body").css("cursor", "wait");
}
于 2012-07-10T07:57:08.907 回答