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
Antwort
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';
Nein, es ist benutzerdefinierte Entität auf ms Crm Dynamics 4.0, derzeit kann ich nicht css dafür injizieren, eine andere Idee? –
@Danny: Würde das Injizieren eines Stylesheets über Javascript eine Option für Sie sein? – user113716
ich werde das versuchen, wie? –
Können Sie alle Ihre Code posten? Die Syntax scheint aus der von Ihnen eingeschlossenen Zeile korrekt zu sein. – elwyn
es so etwas wie: function BaforeCallingAjaxMethod() {document.body.style.cursor = "wait"; CallAjaxMethodNow();} –