Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 08.09.2011, 11:38
Новичок на форуме
Отправить личное сообщение для aqwerty Посмотреть профиль Найти все сообщения от aqwerty
 
Регистрация: 08.09.2011
Сообщений: 5

Обработка перетаскивания как нажатие. Помогите сделать
Помогите, пожалуйста, решить задачу. Я новичок в javascript. Хочу сделать, чтобы событие перетаскивания картинки обрабатывалось как нажатие на неё. Можно ли так сделать? Поддержка всех браузеров не нужна, только Google Chrome.
Вот такой код не работает:
$('img').bind('dragstart', function(event) {
event.preventDefault();
this.click();
});
Мне нужно то же самое, только работающее Подскажите, пожалуйста!
Ответить с цитированием
  #2 (permalink)  
Старый 08.09.2011, 12:35
Профессор
Отправить личное сообщение для da_ff Посмотреть профиль Найти все сообщения от da_ff
 
Регистрация: 12.05.2009
Сообщений: 317

this.click();
замените
$(this).trigger('click', [event]);
Ответить с цитированием
  #3 (permalink)  
Старый 08.09.2011, 12:49
Новичок на форуме
Отправить личное сообщение для aqwerty Посмотреть профиль Найти все сообщения от aqwerty
 
Регистрация: 08.09.2011
Сообщений: 5

Ещё раз повторю, что я новичок и очевидных для Вас вещей могу не знать. Я попробовала этот вариант и ещё попробовала
$(this).trigger('click', event);

Ни одно не работает
Я что-то упустила?
Ответить с цитированием
  #4 (permalink)  
Старый 08.09.2011, 13:06
Профессор
Отправить личное сообщение для da_ff Посмотреть профиль Найти все сообщения от da_ff
 
Регистрация: 12.05.2009
Сообщений: 317

aqwerty,
А требуется выполнить повешенные на клик по этой картинке события? Если так, то должно работать. Второй параметр должен быть именно
[event]

Опишите что требуется, думаю вы не так что-то делаете.
Ответить с цитированием
  #5 (permalink)  
Старый 08.09.2011, 13:34
Новичок на форуме
Отправить личное сообщение для aqwerty Посмотреть профиль Найти все сообщения от aqwerty
 
Регистрация: 08.09.2011
Сообщений: 5

Да, при перетаскивании требуется выполнять те же действия, что и по клику. Как правило, там проиходит либо переход на следующую страницу, либо проверка данных и последующий переход.
По клику это всё работает. Сама функция работает, вот эта:
$('img').bind('dragstart', function(event) { 
event.preventDefault();
});
. То есть я вставляла туда alert, он выводился. Я просто не знаю, как ещё проверять. Функция, которая должна выполняться по клику, многократно оттестирована и тоже работает.
Ответить с цитированием
  #6 (permalink)  
Старый 08.09.2011, 13:43
Новичок на форуме
Отправить личное сообщение для aqwerty Посмотреть профиль Найти все сообщения от aqwerty
 
Регистрация: 08.09.2011
Сообщений: 5

Извиняюсь. Я просто блондинка Если на клик по картинке описана функция, то она действительно работает и перетаскиванием выполняется так же, как кликом. Но есть ещё такие картинки, где никаких функций по клику не предусматривается, там просто прописана ссылка для перехода. Таких большинство. В этом случае не работает. Видимо, потому что функция не вызывается? Подскажите, пожалуйста, как сделать, чтобы и это сработало? Переход по ссылке тоже упрятать в функцию $("элемент").click(function(){//код}; или есть ещё способ?
Ответить с цитированием
  #7 (permalink)  
Старый 08.09.2011, 14:43
Профессор
Отправить личное сообщение для da_ff Посмотреть профиль Найти все сообщения от da_ff
 
Регистрация: 12.05.2009
Сообщений: 317

Вообще если img вложен в a, то должен быть переход по ссылке. Попробуйте тогда
var href = $(this).trigger('click', [event]).parents('a:first').attr('href');
if (href) {
  window.location.href = href;
}

Последний раз редактировалось da_ff, 08.09.2011 в 14:45.
Ответить с цитированием
  #8 (permalink)  
Старый 08.09.2011, 14:51
Новичок на форуме
Отправить личное сообщение для aqwerty Посмотреть профиль Найти все сообщения от aqwerty
 
Регистрация: 08.09.2011
Сообщений: 5

работает!!! спасибо огромное!!!!!!!!!!!!!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как сделать fullscreen -=1100=- Общие вопросы Javascript 8 30.07.2012 09:53
Как сделать? При выходе мышкой за пределы окна браузера, начинает грузится другая стр alb Events/DOM/Window 13 01.09.2010 12:19
Как отлаживать события? Или как сделать трассировку вызовов функций? gennad Events/DOM/Window 1 18.08.2010 13:21
как сделать выпадающий список, чтобы второй зависил от значения первого???? zsaz jQuery 2 16.07.2010 20:12
Многостраничная галерея на lightbox.js Как сделать? MASTER Общие вопросы Javascript 9 24.07.2009 14:38