Javascript 在网页的每个部分上更改鼠标光标
上面是我用来更改鼠标光标的代码,当下拉值更改时,问题是,光标确实会在主体上变为等待状态,但当我将光标悬停在链接上时,它仍然会变回指针。我如何强制它在悬停链接等时保持显示等待状态。使用Javascript 在网页的每个部分上更改鼠标光标,javascript,jquery,Javascript,Jquery,上面是我用来更改鼠标光标的代码,当下拉值更改时,问题是,光标确实会在主体上变为等待状态,但当我将光标悬停在链接上时,它仍然会变回指针。我如何强制它在悬停链接等时保持显示等待状态。使用*选择页面上的所有元素: $("#sales-period").on("change", function () { $("body").css("cursor", "wait"); }); 为了获得更好的性能,您可以只针对具有不同光标的标记,例如链接或您自己更改光标的其他标记 要恢复到常规游标,请使用:
*
选择页面上的所有元素:
$("#sales-period").on("change", function () {
$("body").css("cursor", "wait");
});
为了获得更好的性能,您可以只针对具有不同光标的标记,例如链接或您自己更改光标的其他标记
要恢复到常规游标,请使用:
$("*").css("cursor", "wait");
您需要为所有
html
元素重置CSS。您已经为body
元素设置了光标。但是元素有默认的指针光标
试试这个style.css
文件
$("*").css('cursor','auto');
显示/隐藏等待光标的Jquery代码:
body.wait,
body.wait * {
cursor: wait;
}
试试这个
$("body").addClass("wait"); // to add wait cursor
$("body").removeClass("wait"); // to remove wait cursor
如前所述,您可以通过执行以下操作来覆盖每个元素的csscursor
样式:
jQuery( "*" ).css("cursor", "wait");
但是,这是非常昂贵的,因为页面上的每个元素都必须更改DOM
另外,将所有游标返回到指定等待之前的状态将是一场噩梦。如果它们以前有内联样式,则这些样式将被覆盖,您将无法将它们返回到以前的状态
因此,我建议在主体中添加一个类,然后在CSS中进行所有更改:
$("*").css("cursor", "wait");
然后,要删除等待状态,只需执行以下操作:
$("body").addClass("waiting");
body.waiting,
body.waiting a:hover,
body.waiting *
{
cursor: wait !important;
}
这涉及到更少的DOM更改,并修复了锚定悬停状态游标的问题。在代码运行之前,已经分配给DOM元素的任何游标会发生什么情况?i、 e.你会如何“记住”他们的状态并返回它?@Leetylor这就是为什么我在等待更好的答案。我想在这种情况下,使用@Curt Suggest这样的类将是最好的主意。@KamranAhmed-Curt的答案看起来是最好的one@LeeTaylor是的,我也这么想:)代码!重要提示
声明应在光标后:wait
。干杯@Paul。更正。
$("body").removeClass("waiting");