2010-12-15 1 views
2

Ich lade einen Abschnitt meiner Seite mit einem jQuery AJAX-Aufruf und möchte qTips innerhalb dieses Abschnitts verwenden. Wenn Sie jQuery-Funktionen über AJAX laden, verwenden Sie normalerweise die Funktion .live(). Gibt es eine Möglichkeit, einen qTip unter Verwendung von .live() anzufügen oder gibt es ein qTip-Äquivalent?qtip live() Unterstützung

Ich habe gehört, dass qTip 2.0 diese Unterstützung haben wird, aber ich glaube nicht, dass 2.0 bereits fertig ist.

Hat jemand da draußen einen Workaround?

Im Folgenden ist der vollständige Code, den ich glaube, sollte funktionieren, aber scheint nicht zu:

$('.editquestion').live('click', function() { 
       $(this).qtip({ 
        overwrite:false, 
        content: { 
         url: $(this).attr('href'), 
         data: { id: 5 }, 
         method: 'get', 
         title: { 
          text: 'Edit Question', 
          button: 'Close' 
         }, 
         cache: false, 
        }, 
        position: { 
         target: $(document.body), // Position it via the document body... 
         corner: 'center' // ...at the center of the viewport 
        }, 
        show: { 
         ready:true, 
        }, 
        hide: false, 
        style: { 
         width: { 
          max: 550, 
          min: 550 
         }, 
         height: { 
          max: 300, 
          min:300 
         }, 
         padding: '14px', 
         border: { 
          width: 9, 
          radius: 9, 
          color: '#666666' 
         }, 
         name: 'light' 
        }, 
        api: { 
         beforeShow: function() { 
          // Fade in the modal "blanket" using the defined show speed 
          $('#qtip-blanket').fadeIn(this.options.show.effect.length); 
         }, 
         beforeHide: function() { 
          // Fade out the modal "blanket" using the defined hide speed 
          $('#qtip-blanket').fadeOut(this.options.hide.effect.length); 
         } 
        } 
       }); 
       return false; 
      }); 

Edit: Vielleicht sollte ich auch erwähnen, dass die qtip Ajax verwendet ein Formular zu laden.

Antwort

2
+0

Hmm, danke für die Antwort. Der erste Link ist einer, den ich gesehen habe. Es macht Sinn für mich und sollte logisch funktionieren, scheint es aber nicht. Es verhält sich so, als würde es Kopien von sich selbst erstellen. Immer wenn ich einen qTip abrufe, werden mehr Anrufe getätigt (zB erste Zeit: 1, zweite Zeit: 2, usw.). Der zweite Link macht für mich keinen Sinn. Ist das nicht der normale Weg, wie Sie qtips auf einer statischen Seite anhängen? – emachine

0

Sie sollten die qtip an, wenn Sie den neuen Teil der Seite geladen wird, nicht auf Klick.

Sie können auch versuchen, zu prüfen, ob der qtip bereits an das angeklickte Objekt angehängt ist, bevor Sie ihn beim Klicken anhängen. Firebug wird Ihnen sagen, was Sie überprüfen müssen.