我试图通过将js用于MS CRM动态4.0来更改鼠标的光标,
当我使用ajax调用方法时,我想将鼠标的光标显示为wait:
document.body.style.cursor =“ wait”;
但它不起作用...我该怎么办?

最佳答案

您正在做什么。

请记住,如果在所有后代的CSS中都设置了cursor,则它将覆盖body上的光标设置。

示例:http://jsfiddle.net/88272/

还要注意,我将主体的widthheight拉伸到了100%



如果其他元素被覆盖,这是一个可能的解决方案。

将此添加到您的CSS:

body.isWaiting, body.isWaiting * {
    cursor:wait !important;
}


...然后做:

document.body.className = 'isWaiting';


示例:http://jsfiddle.net/88272/3/

您需要测试浏览器的兼容性。



编辑:

由于听起来好像您无法在服务器端添加自己的样式表,因此您可以尝试通过javascript添加样式表。

示例:http://jsfiddle.net/88272/4/

   // string representation of stylesheet content
var styles = 'body.isWaiting, body.isWaiting * {cursor:wait !important;}';

   // grab the <head> element
var head = document.getElementsByTagName('head')[0];

   // create a new "style" element, and set up its properties/content
var sheet = document.createElement('style');
sheet.setAttribute('media', 'all');
sheet.setAttribute('type', 'text/css');

if(sheet.styleSheet) {
    sheet.styleSheet.cssText = styles;  // For IE
} else {
    sheet.appendChild( document.createTextNode(styles) );
}

   // append the new <style> element to the <head>
head.appendChild( sheet );

   // give the <body> the class when it is needed
document.body.className = 'isWaiting';

10-07 14:34