2010-10-18 7 views
2

J'ai ce widget et j'essaie d'ajouter this.helper dans mon corps. J'ai utilisé la fonction $ .extend() à la fin, mais je ne sais pas si cela fonctionne dans jquery 1.8 parce que j'ai juste mis à jour à 1.8 et tout s'est mal passé alors j'ai été en train d'essayer de le faire fonctionner. mon.chiffre n'est pas ajouté à mon corps. Quelqu'un peut-il aider? Merci!!appendTo ne fonctionne pas dans jquery-ui 1.8

$.widget("ui.boxTool", $.extend({}, $.ui.mouse, { 

     _create: function() { 
      this.element.addClass("ui-boxTool"); 
      this.dragged = false; 

      this._mouseInit(); 
      this.width = $('#toPinpoint').width(); 
      this.height = $('#toPinpoint').height(); 

      this.helper = $(document.createElement('div')) 
       .css({border:'1px dashed #c2c0c0'}) 
       .css({cursor:'crosshair'}) 
       .addClass("ui-boxTool-helper"); 
      }, 

      destroy: function() { 
      this.element 
       .removeClass("ui-boxTool ui-boxTool-disabled") 
       .removeData("boxTool") 
       .unbind(".selectable"); 
      this._mouseDestroy(); 

      return this; 
      }, 

     _mouseStart: function(event) { 
     var self = this; 

     this.opos = [event.pageX, event.pageY]; 

     if (this.options.disabled) 
      return; 

     var options = this.options; 

     this._trigger("start", event); 

     $(options.appendTo).append(this.helper); 

     this.helper.css({ 
      "z-index": 100, 
      "position": "absolute", 
      "left": event.clientX, 
      "top": event.clientY, 
      "width": 0, 
      "height": 0 
     }); 
     }, 

     _mouseDrag: function(event) { 
     var self = this; 
     this.dragged = true; 

    ... 

     return false; 
     }, 

     _mouseStop: function(event) { 
     var self = this; 

     this.dragged = false; 

     var options = this.options; 

     var clone = this.helper.clone() 
      .removeClass('ui-boxTool-helper').appendTo(options.appendTo); 



     this._trigger("stop", event, { box: clone }); 

     this.helper.remove(); 
     //$('.view-mode').remove(this.helper); 
     return false; 
     } 

    })); 
$.extend($.ui.boxTool, { 
      defaults: $.extend({}, $.ui.mouse.defaults, { 
      appendTo: 'body', 
      distance: 0 
      }) 
     }); 

Répondre

1

La solution la plus simple est de simplement changer la ligne

$(options.appendTo).append(this.helper); 

à

$(this.element).append(this.helper); 
Questions connexes