2011-01-11 17 views
2

Ich versuche, den Mauszeiger mit MS für MS CRM Dynamics 4.0, zu ändern, wenn ich Methode mit Ajax aufrufen, ich möchte den Cursor der Maus als warten: Dokument .body.style.cursor = "warten"; aber es funktioniert nicht ... wie kann ich es tun?Ändern des Cursors der Maus durch js

+0

Können Sie alle Ihre Code posten? Die Syntax scheint aus der von Ihnen eingeschlossenen Zeile korrekt zu sein. – elwyn

+0

es so etwas wie: function BaforeCallingAjaxMethod() {document.body.style.cursor = "wait"; CallAjaxMethodNow();} –

Antwort

4

Was Sie tun, funktioniert.

Beachten Sie, dass, wenn die cursor in CSS für alle Nachkommen festgelegt ist, die Cursoreinstellung auf body überschrieben wird.

Beispiel:http://jsfiddle.net/88272/

Beachten Sie auch, dass ich die width und height des Körpers zu 100% gestreckt.


Hier ist eine mögliche Lösung, wenn andere Elemente überschreiben.

Fügen Sie diese in Ihrem CSS:

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

... dann tun:

document.body.className = 'isWaiting'; 

Beispiel:http://jsfiddle.net/88272/3/

Sie werden für Browser-Kompatibilität testen müssen.


EDIT:

Da es so klingt, als ob Sie nicht Ihre eigene Stylesheet auf der Server-Seite hinzufügen können, können Sie stattdessen versuchen, einen über Javascript hinzuzufügen.

Beispiel: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'; 
+0

Nein, es ist benutzerdefinierte Entität auf ms Crm Dynamics 4.0, derzeit kann ich nicht css dafür injizieren, eine andere Idee? –

+0

@Danny: Würde das Injizieren eines Stylesheets über Javascript eine Option für Sie sein? – user113716

+0

ich werde das versuchen, wie? –

Verwandte Themen