2009-03-14 7 views

Antwort

2

Ich nehme an, Sie meinen Sie das Inplace Editor deaktivieren möchten.

Ich habe dieses Plugin nie benutzt, aber ich sehe kein Code-Beispiel auf der Website, das zu dem Glauben führt, dass das von Ihnen geforderte Verhalten implementiert ist.

Wenn es nicht ist, vielleicht könnten Sie den guten alten div Cache Trick:

$.fn.disableWithADiv() { 
    var element = $(this); 
    var pos = element.offset(); 
    $("body").append($("<div />").css({ 
     "position": "absolute", 
     "z-index": 1000, 
     "left": pos.left+"px", 
     "top": pos.top+"px", 
     "width": element.width(), 
     "height": element.height(), 
     "display": "block" 
    }).attr("id",element.attr("id")+"-div-disabler")); 
} 

$.fn.removeDivDisabler() { 
    var element = $(this); 
    $("#"+element.attr("id")+"-div-disabler").remove(); 
} 

dann

$("#yourElement").disableWithADiv(); // To disable 
$("#yourElement").removeDivDisabler(); // To re-enable 

verwenden Wenn alles wie geplant läuft, wird die div Ereignisse fangen klicken anstelle von Ihr Element und der Inplace-Editor werden niemals geöffnet.

, die aus der Spitze von meinem Kopf ist, nicht sicher, es gibt keinen Tippfehler oder ein großer Logikfehler drin;)

EDIT:

Nun, es gibt ein Problem ... die Einrichtungen des In dieses Konstrukt sollten zwei Funktionen eingekapselt werden:

return this.each(function() { 
    // Body here 
}); 

Dumm mich.

Verwandte Themen