2010-03-05 14 views
14

Così Im usando questo jQuery Plugin pulito http://odyniec.net/projects/imgareaselect/ Funziona bene, ma io sto sparando con la funzione di callback jQuery UI (finestra), e ho bisogno di rimuovere la selezione dopo la finestra si chiude.Rimozione jquery imgareaselect plugin dal elemento

function initialize_selection() { 
$('#image_area').imgAreaSelect({ x1: 10, y1: 10, x2: $('#image_area').width()-10, y2: $('#image_area').height()-10 , fadeSpeed: 400, handles: true}); 
} 

$(function() { 
$('#image_edit').click(function(){ 
    $('#edit_image_dialog').load('actions.php?action=edit_temp_image', function(){ 
      $('#edit_image_dialog').dialog({ 
       modal: true, 
       resizable: false, 
       width: 480, 
        buttons: { 
      Ok: function() { 
         //foo_bar                   
      }, 
         Cancel: function() { 
         //foo_bar 
      } 
        }, 
        beforeclose: function(){ 
        //What should i put here ??? 
        ;} 
      }); 
    initialize_selection(); 
     }); 
    }); 
}); 

Vorrei davvero apprezzare alcuni consigli, perché io sono nuovo a jQuery e non posso lavorare questo fuori da solo.

Grazie

+0

Non sicuro, ma +1 alla domanda per la condivisione di un fantastico plugin jQuery! –

risposta

0

ya funziona davvero ma dopo -> $ ('# image_area'). ImgAreaSelect ({remove: true}); Non può funzionare sulla codifica altre foto

5

L'unico modo che ho trovato per ottenere le aree di trattamento selezione rimosse è stato il seguente:

"Close": function() { 
    $(".imgareaselect-selection").parent().remove(); 
    $(".imgareaselect-outer").remove(); 
    $(this).dialog("close"); 
}, 

Quanto segue non ha funzionato per me (in jQuery e jQueryUI elementi in Wordpress 3.0.5)

$(selector).imgAreaSelect({remove: true}); 
+2

+1. $ (selettore) .imgAreaSelect ({remove: true}); non ha funzionato per me –

4

questo ha funzionato per me:

var $ias = $('#imageArea').imgAreaSelect({ 
    instance: true 
}); 

$('#clearBtn2').click(function() { 
    $ias.cancelSelection(); 
}); 
+0

Questa è una risposta migliore se si desidera riaprire la finestra di dialogo e selezionare nuovamente l'area dell'immagine. @ La risposta di Daniele rimuoverà/distruggerà completamente il plugin dal tuo elemento, ma rimuoverà semplicemente la casella di selezione visiva e lo sfondo. – monty

1

Secondo la documentazione: http://odyniec.net/projects/imgareaselect/usage.html

{remove: true} rimuoverà completamente imgAreaSelect-y-ness completamente. Se tutto ciò che si vuole fare è un'area in bianco e nero, (ma consentire all'utente di trascinare una nuova casella in un secondo momento) si desidera {hide: true}.

$('#image_area').imgAreaSelect({hide: true}); 
0
$('#image_area').imgAreaSelect({remove:true}); //For hiding the imagearea 
$('#image_area').imgAreaSelect({remove:false}); //For resetting the imagearea 

Prima dichiarazione nasconde l'imgareaselect e la seconda istruzione aiuta a ricaricare la funzionalità raccolto quando il modal è caricato la prossima volta.

Ho usato entrambe le istruzioni mentre tornavo alla finestra principale dal modale in modo che non ci siano problemi durante il caricamento della funzionalità di ritaglio la volta successiva.