Обработка перетаскивания как нажатие. Помогите сделать
Помогите, пожалуйста, решить задачу. Я новичок в javascript. Хочу сделать, чтобы событие перетаскивания картинки обрабатывалось как нажатие на неё. Можно ли так сделать? Поддержка всех браузеров не нужна, только Google Chrome.
Вот такой код не работает: $('img').bind('dragstart', function(event) { event.preventDefault(); this.click(); }); Мне нужно то же самое, только работающее :) Подскажите, пожалуйста! |
this.click();замените $(this).trigger('click', [event]); |
Ещё раз повторю, что я новичок и очевидных для Вас вещей могу не знать. Я попробовала этот вариант и ещё попробовала
$(this).trigger('click', event); Ни одно не работает :( Я что-то упустила? |
aqwerty,
А требуется выполнить повешенные на клик по этой картинке события? Если так, то должно работать. Второй параметр должен быть именно [event] Опишите что требуется, думаю вы не так что-то делаете. |
Да, при перетаскивании требуется выполнять те же действия, что и по клику. Как правило, там проиходит либо переход на следующую страницу, либо проверка данных и последующий переход.
По клику это всё работает. Сама функция работает, вот эта: $('img').bind('dragstart', function(event) { event.preventDefault(); });. То есть я вставляла туда alert, он выводился. Я просто не знаю, как ещё проверять. Функция, которая должна выполняться по клику, многократно оттестирована и тоже работает. |
Извиняюсь. Я просто блондинка :( Если на клик по картинке описана функция, то она действительно работает и перетаскиванием выполняется так же, как кликом. Но есть ещё такие картинки, где никаких функций по клику не предусматривается, там просто прописана ссылка для перехода. Таких большинство. В этом случае не работает. Видимо, потому что функция не вызывается? Подскажите, пожалуйста, как сделать, чтобы и это сработало? Переход по ссылке тоже упрятать в функцию $("элемент").click(function(){//код}; или есть ещё способ?
|
Вообще если img вложен в a, то должен быть переход по ссылке. Попробуйте тогда
var href = $(this).trigger('click', [event]).parents('a:first').attr('href'); if (href) { window.location.href = href; } |
работает!!! спасибо огромное!!!!!!!!!!!!!
|
Часовой пояс GMT +3, время: 09:37. |