imgareaselect: отмена нового выделения, если выделение уже существует

#javascript #jquery

#javascript #jquery

Вопрос:

Я хотел бы отменить свой «новый» выбор, если выбор уже существует. Моя попытка вернуть false при onSelectStart работает не так, как я ожидаю.

Как я мог этого добиться?

пример кода ниже :

 currentCoords = {
    x1: $('input[name="thumb-x1"]')
};

selectthumb = $('.img-orig-thumb').imgAreaSelect({
    instance:    true,
    handles:     true,
    aspectRatio: '1:1',
    imageWidth:  <?php echo $imgsize[0]; ?>,
    imageHeight: <?php echo $imgsize[1]; ?>,
    onSelectStart: function(img, selection) {
        _selection = parseInt(currentCoords.x1.val());
        if(_selection > 0) return false;
    }
});
  

Ответ №1:

Единственное действие, которое вы можете сделать, это сбросить imgAreaSelect

 var options = {
    instance : true,
    handles : true,
    aspectRatio : '1:1',
    imageWidth : <?php echo $imgsize[0]; ?>,
    imageHeight : <?php echo $imgsize[1]; ?>,
    onSelectStart : function(img, selection) {
        _selection = parseInt(currentCoords.x1.val());
        if(_selection > 0){
            $(img).imgAreaSelect({remove:true});
            $(img).imgAreaSelect(options);
            return;
        };
    }
}

selectthumb = $('.img-orig-thumb').imgAreaSelect(options);