Событие делегата jquery для Jcrop (изображение) .setOptions в modalpopupextender - PullRequest
1 голос
/ 30 августа 2011

У меня есть элемент управления modalpopupextender, который используется для загрузки и обрезки изображения перед его сохранением в файловой системе.

MPE сначала показывает элемент управления загрузкой файлов, когда пользователь загружает файл, под ним отображается раздел обрезки с загруженным изображением.Он работает в первый раз, показывает изображение и, используя файл Jcrop javascript/jquery, я могу обрезать кадр и сохранить обрезанное изображение.

Код, который инициализирует Jcrop, находится ниже в функции jQuery(window).load.

  $.Jcrop(image).setOptions({
        onChange: update,
        onSelect: update,
        aspectRatio: myRatio,
        bgColor: 'white',
        bgOpacity: 0.5
    });

Но проблема возникает, когда пользователь снова пытается загрузить другой файл, не закрывая всплывающее окно.Он не запускает метод обновления для jcrop, который, я считаю, запускается только при первой загрузке всплывающего окна.Мне нужно прикрепить к нему что-то вроде обработчика живых событий, но я не могу этого сделать.Я попытался прикрепить событие связывания, как показано ниже, но оно не работает.

$.Jcrop(image).bind('setOptions', { onChange: update,
        onSelect: update,
        aspectRatio: forcedRatio,
        bgColor: 'black',
        bgOpacity: 0.6
    }, function () {
        alert('test');
    });

Кто-нибудь ранее использовал JCrop подобным образом или какие-либо идеи о том, как справиться с этим?

1 Ответ

0 голосов
/ 30 августа 2011

Для будущих посетителей я смог заставить его работать, установив событие setOptions внутри window.focus вместо window.load.

jQuery(window).focus(function () {
    $.Jcrop(image).setOptions({ ..... });
});
...