#javascript #jquery #unbind #pixastic
#javascript #jquery #отменить привязку #pixastic
Вопрос:
У меня есть пара функций, которые выполняются на некоторых изображениях, которые (используя некоторый код с этого сайта) насыщают (pixastic.revert) или обесцвечивают изображение, когда мышь входит в изображение или покидает его.
$('.execImagenav').live({
mouseenter: function () {
Pixastic.revert(this);
}, mouseleave: function () {
jQuery(this).pixastic("desaturate");
}, click: function () {
$('.execImagenav').unbind('mouseleave');
Pixastic.revert(this);
}
});
Я добавил бит щелчка внизу, так как, когда кто-то щелкает по изображению, я не хочу, чтобы оно обесцветилось, когда mouseleaves, поскольку это будет «активное» изображение.
Однако это не работает, не могли бы вы посоветовать?
Спасибо.
Ответ №1:
У меня была та же проблема. Когда вы делаете свое изображение ненасыщенным, pixastic перезаписывает ваш тег с помощью tag — похоже, у jQuery есть проблема с тем, что этот элемент по-прежнему обрабатывается как тот же, который вы выбрали ранее (даже если он имеет тот же класс, идентификатор, имя и т. Д.). Поэтому, если вы хотите снова выбрать его с помощью jQuery, вам не нужно использовать какое-либо выражение «$ (this)» или какие-либо переменные, содержащие ваш селектор. В моем случае это работает, только если я выбираю с помощью $(‘.something’) .
В любом случае у меня были некоторые проблемы с возвратом изображений в реальном времени (или, например, с добавлением размытия — это занимает много времени), и для меня лучшим способом сделать что-то подобное было создать функцию, которая дублирует все изображения, а затем обесценивает дубликаты и делает их не отображаемыми, а затем поддерживает зависания и т. Д. Событиями, Которые показывают /скрывает правильное изменение изображения…