【问题标题】:How to change the cursor to default on loading如何在加载时将光标更改为默认值
【发布时间】:2011-04-19 14:19:59
【问题描述】:

当点击超链接时,我有以下代码来改变光标

        $('a').click(function () {
            $('*').css("cursor", "progress");
        });

点击链接时,光标会完全按照预期变为“进度”(即等待光标)。但是,问题是在加载新页面后光标仍保持“进度”。仅在鼠标移动后才更改为默认值。这与another question 有关。其他人也表达了同样的问题。

如标题所述,我希望在加载页面时将光标更改为默认值。

【问题讨论】:

  • 您能否更准确地了解单击该链接时会发生什么?无论如何,您修改光标的方式应该是: $('body').css("cursor","progress")
  • 对不起。我刚刚添加了以下句子“单击链接时,光标完全按预期变为“进度”(即等待光标)。在发布问题之前,我确实尝试过 $('body').css("cursor","progress") 。在发布问题之前,我还尝试了 $(this).css("cursor","progress") 。它们的行为都是一样的——光标保持“进度”直到鼠标移动。
  • 我不是这个意思。我们需要知道的是你什么时候想要你的光标所以停止进度动画。
  • 再次抱歉。我刚刚添加了以下句子:“如标题所述,我希望在加载页面时将光标更改为默认值。”非常感谢您对此进行调查。
  • 我假设您有一个链接,可以将 url 加载到一个特殊的目标窗口。所以你只需要按照我的例子绑定到那个窗口的 onload 事件。

标签: jquery css mouse-cursor


【解决方案1】:

您没有明确说明它的用途,但这里有一个示例,说明如何使用 ajax 调用执行您描述的行为:

$('a').click(function () {
    $('body').css('cursor', 'progress');
    $.ajax({
      url: "test.html",
      context: document.body,
      complete: function(){
       $('body').css('cursor', 'default');
      }
    });
} );

【讨论】:

  • 再次感谢您对此进行调查。我的意思是在单击链接后加载新页面时将光标反转为默认值。链接可能类似​​于以下 Foo
  • 如果新页面加载到您的窗口中,光标将在卸载时恢复到默认值,我认为您的意思是使用特定目标,例如:Foo。然后您必须访问该窗口的文档对象并像这样收听它的就绪状态: $( popupWindow ) .ready( unsetcursorfunction )
  • 但我建议你放弃这个想法,我认为现在的浏览器已经足够明确地通知用户正在加载页面:)
  • 对于我的一个 Web 应用程序的每个页面,剩余的“进度”光标都是正确的。每当单击链接时,光标将变为“进度”,并且在目标页面加载后仍保持进度。只有在鼠标移动后才会更改为默认值。我遇到这个问题已经有一段时间了,并认为它的解决方案必须是基本的。在尝试了所有我能想到的无济于事后,我决定在这里发布问题。
  • 浏览器(例如 FF、IE)在左下角显示“正在加载...”,并且只有在单击鼠标移动后才会显示。我发现对于一些在没有很快加载任何内容时倾向于继续点击链接的访问者来说,这是不够的。
猜你喜欢
  • 2011-05-02
  • 2023-01-14
  • 2018-11-12
  • 2020-07-16
  • 1970-01-01
  • 2012-02-12
  • 2020-11-11
  • 2011-05-02
  • 1970-01-01
相关资源
最近更新 更多