用js改变鼠标光标

时间:2011-01-11 19:35:18

标签: javascript dynamics-crm dynamics-crm-4

我尝试使用js为MS CRM动态4.0更改鼠标光标, 当我通过使用ajax调用方法时,我想将鼠标的光标显示为等待: document.body.style.cursor = “等待”; 但它不起作用......我怎么能这样做?

1 个答案:

答案 0 :(得分:4)

你在做什么。

请注意,如果在任何后代的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';