我试图通过将js用于MS CRM动态4.0来更改鼠标的光标,
当我使用ajax调用方法时,我想将鼠标的光标显示为wait:
document.body.style.cursor =“ wait”;
但它不起作用...我该怎么办?
最佳答案
您正在做什么。
请记住,如果在所有后代的CSS中都设置了cursor
,则它将覆盖body
上的光标设置。
示例:http://jsfiddle.net/88272/
还要注意,我将主体的width
和height
拉伸到了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';