2012-04-12 8 views
0
$('.box').resizable({ 
    disabled: true 
}); 

und hier ist die CSSjQuery-UI resizable deaktiviert ist wahr, aber Griffe zeigt noch

.ui-resizable-disabled .ui-resizable-handle, 
.ui-resizable-autohide .ui-resizable-handle { 
    display: none; 
} 

Nach den Dokumenten, wenn sie deaktiviert ist wahr, die .ui-resizable-disabled Klasse wird das Element hinzugefügt. In meinem Fall werden die Klassen nicht hinzugefügt, aber die Größenänderung ist immer noch deaktiviert (das heißt, ich kann die Größe nicht durch Ziehen der Griffe ändern, aber wenn deaktiviert, kann ich die Größe ändern). Wenn ich den generierten HTML-Code überprüfe, wurde style="display:block" zu den Handles hinzugefügt. Ich mache keine Showverstecke auf ihnen.

<div class="ui-resizable-handle ui-resizable-e" style="display: block; ">...</div> 

Ich benutze jQuery 1.8 von Google API. Ich ziehe auch ziehbare auf die gleichen Elemente an.

Antwort

8

Sieht aus wie es ein Standardverhalten ist. Sie können die Größe nicht ändern, obwohl ein Handler vorhanden ist. Wie auch immer, man kann den Handler verstecken wie:

//Dirty hack 
$('div.ui-resizable-handle').hide(); 

//Somewhat effective solution 
$("#resizable").resizable({ disabled: true, handles: 'e' }); 

Demo: http://jsfiddle.net/codef0rmer/W7HQ9/

+0

Dies funktioniert für jetzt. Vielen Dank! Wenn niemand eine elegantere Lösung oder Erklärung anbietet, werde ich sie in ein paar Tagen akzeptieren. –

+0

Ich vermute, das ist nicht als Standard gemeint. Wenn sie Inline-Styles auf die Handles legen, warum gibt es dann Styles, um sie im Stylesheet zu verstecken? –

+1

Die Griffe zu geben, ist der Trick. $ ("#resizable") .resizable ({disabled: true, handles: 'e'}); – codef0rmer

0

Sie können genauso wie unter dem Griff verbergen, wird dies nur den Griff Bild entfernen, und man konnte immer noch die Größe neu zu bestimmen ..

$("#yourelementid").find('.ui-icon').removeClass('ui-icon');