2010-03-05 35 views
14

Así que estoy usando este limpio complemento jquery http://odyniec.net/projects/imgareaselect/ Funciona bien, pero lo estoy disparando con la función de devolución de llamada de jquery ui (diálogo), y necesito eliminar la selección después de que se cierra el cuadro de diálogo.Eliminando jquery imgareaselect plugin del 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(); 
     }); 
    }); 
}); 

Realmente agradecería algunos consejos, porque soy nuevo en jquery y no puedo resolver esto por mi cuenta.

Gracias

+0

No estoy seguro, pero +1 a la pregunta de compartir un plugin jQuery muy bueno! –

Respuesta

0

ya funciona, pero después de -> $ ('# image_area'). ImgAreaSelect ({remove: true}); no puede trabajar en el etiquetado otra foto

5

La única forma que he encontrado para conseguir las áreas de tratamiento selección eliminado fue el siguiente:

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

El siguiente no funcionaba para mí (en el jQuery y jqueryui elementos en Wordpress 3.0.5)

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

+1. $ (selector) .imgAreaSelect ({remove: true}); no funcionó para mí –

4

Esto funcionó para mí:

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

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

Esta es una mejor respuesta si desea volver a abrir el cuadro de diálogo y seleccionar de nuevo el área de la imagen. La respuesta de @ Daniele eliminará/destruirá completamente el complemento de tu elemento, pero esto simplemente eliminará el cuadro de selección visual y el fondo. – monty

1

De acuerdo con la documentación: http://odyniec.net/projects/imgareaselect/usage.html

{remove: true} eliminará completamente imgAreaSelect-y-ness por completo. Si todo lo que desea hacer es un área en recuadro y en gris, (pero permita al usuario arrastrar un cuadro nuevo más adelante), quiere {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 

Primera declaración oculta la imgareaselect y la segunda declaración ayuda a volver a cargar la funcionalidad de los cultivos cuando el modal se carga la próxima vez.

Utilicé ambas declaraciones al regresar a la ventana principal del modal para que no haya problemas al cargar la funcionalidad de recorte la próxima vez.