Запретить срабатывание действия по нажатию
Страница состоит из квадратов DIV'ного типа(воистину дивного!).
На блоки повешен onclick, который перенаправляет пользователя на другой адрес Так же прикручен JQuery(+UI) плагин позволяющий переносить эти блоки на другое место левой кнопкой мыши (drag'n drop). А теперь вопрос: При переносе блоков, а браузерах Opera и Chrome после события не происходит перехода на новый адрес В браузерах: Firefox и Safari после переноса блока срабатывает событие onclick Каким образом заблокировать выполнение onclick при переносе блоков? Есть ли такая команда? И еще вопрос. В браузере IE10 не работает перенос блоков. Это только у меня или так и должно быть? Пример drag'n drop |
Вы бы код показали...
|
Цитата:
$(document).ready(function(){ $(function() { $("#list").sortable({ opacity: 0.6, cursor: "move", update: function() { var order = $(this).sortable("serialize") + "&action=updateRecordsListings"; $.post("/index.php", order); } }); }); }); используется jquery ui 1.7.1 и собственно jquery <div class="sites" id="list"> <div id="recordsArray_463" class="box" title="" onmouseout="document.getElementById('2').style.opacity = '0.0';" onmouseover="document.getElementById('2').style.opacity = '0.9';" onclick="location.href='http://allbest.ru';"style="background:black url('./thumbnails/1369328664_2013-05-23-200.jpg');"> <div class="buttons" id="2"> <a class="edit_site" href="edit_site.php?id=463"> <img src="./img/settings3.png" /> </a> <a class="delete_site" href="?category=&deleteSiteId=463"> <img src="./img/stop_white_2.png"/> </a> </div> <div class="title" style="z-index: 1; position:relative;">Доклады</div> </div> </div> |
Вложений: 1
Вот сама страница
|
Попробуйте так
по событию dragstart на на елементе присваиваем какой-то переменной v=1; при клике проверяем если v==1 то return по событию mouseup на body v=0; |
Спасибо за ответ. Смысл понял, начал искать подробности о событиях dragstart и попутно нашел вот такую вещь event.cancelBubble = true; - это в дополнение к вашей идее.
т.к. я почти не знаю JS, а сейчас времени нет разбираться, пока что прицепил это действие на title, чтобы можно было перетягивать элементы за заголовок. Вернусь к решению проблемы позже, как появится время. |
Цитата:
обычно так пишут if(event.stopPropagation)event.stopPropagation();else event.cancelBubble = true; |
Цитата:
|
Часовой пояс GMT +3, время: 20:04. |