2011-01-23 1 views
2

Lorsque vous redimensionnez un div à l'aide du plugin jquery resize, si vous maintenez la touche Maj enfoncée, le rapport d'aspect est conservé.Fonction de décalage de redimensionnement de jquery inversée

Eh bien, il est possible de {aspectRatio: true} à la liste d'options et si je maintiens la touche majuscule pour désactiver le rapport d'aspect?

Merci.

+0

Pourriez-vous être plus précis sur quel plugin votre utilisation? Un lien vers docs, peut-être? – polarblau

+0

Bien sûr. http://jqueryui.com/demos/resizable/ – keepwalking

Répondre

4

Eh bien je réussi en modifiant le widget:

remplacé

if (this._aspectRatio || b.shiftKey) 

avec

if (this._aspectRatio && !b.shiftKey) 
0

Vous pouvez singe patcher le jquery Code redimensionnable pour que, sans toucher le fichier source, donc vous pouvez toujours utiliser son CDN.

var mouseDrag = $.ui.resizable.prototype._mouseDrag; 
$.ui.resizable.prototype._mouseDrag = function (event) { 
    event.shiftKey = !event.shiftKey; 
    var aspectRatio = this._aspectRatio; 
    this._aspectRatio = aspectRatio && event.shiftKey; 
    mouseDrag.apply(this, arguments); 
    this._aspectRatio = aspectRatio; 
}; 
Questions connexes