2013-04-26 2 views
5

У меня есть событие перетаскивания через прикрепленный файл div.image. enter image description hereСобытие остановки перетаскивания во время клика по ссылке

, когда я мыши вниз на DIV событие перетаскивания start.for это я включить nestable.js plugin.i хотите, чтобы остановить перетащить событие DIV при нажатии на ссылки в DIV .Я с помощью JS и HTML-файл из ссылки : Nestable

Пожалуйста, дайте решение, как я могу это сделать.

+1

который используется перетаскивание библиотека? –

ответ

2

Вы должны предотвратить распространение события щелчка от элемента ссылки

Ex:

$('#div').on('click', 'a', function(){ 
    return false; 
}) 
+0

фактически, это не работает. и event.stopPropagation() и/или event.preventDefault() –

4

автора имеет проблемы с вложенным плагиным. есть некоторые лучший способ решить проблему связи щелчком мыши, который помещается в контейнер вложенности:

$(".dd a").on("mousedown", function(event) { // mousedown prevent nestable click 
    event.preventDefault(); 
    return false; 
}); 

$(".dd a").on("click", function(event) { // click event 
    event.preventDefault(); 
    window.location = $(this).attr("href"); 
    return false; 
}); 

.dd - по умолчанию вкладываемый класса контейнера, изменить его, если вам нужно

+0

Класс dd-nodrag не работал для меня, но это произошло. благодаря! – trembling

13

Игнорирование обработки по щелчку, добавьте класс «dd-nodrag» в элемент.

+1

Вау, это был дроид, которого я искал. – davmor

0

Вы можете отключить это, используя пользовательский класс CSS.

.disableDrag{ 
    display: block; 
    margin: 5px 0; 
    padding: 6px 10px 8px 40px; 
    font-size: 15px; 
    color: #333333; 
    text-decoration: none; 
    border: 1px solid #cfcfcf; 
    background: #fbfbfb; 
} 

Используйте созданный класс CSS для элемента, где вы хотите отключить.

Рабочий примерJSFiddle

<li class="dd-item"> <div class="disableDrag"><em class="badge pull-right"></em></div> </li> 
0
<div class="dd-handle"> 
ID - Title <a href="#" class="dd-nodrag link_min">Link</a> 

.link_min{ 
    position: absolute; 
    display: inline-block; 
    right: 0px; 
    margin-right: 8px; 
} 
+0

Хотя этот фрагмент кода может решить вопрос, [включая объяснение] (// meta.stackexchange.com/questions/114762/explaining-entirely-code-based-answers) действительно помогает улучшить качество вашего сообщения. Помните, что вы отвечаете на вопрос читателей в будущем, и эти люди могут не знать причин вашего предложения кода. Также попробуйте не толковать код с пояснительными комментариями, так как это уменьшает читаемость кода и объяснений! – FrankerZ

Смежные вопросы