2010-05-29 2 views
0

Может ли кто-нибудь сказать мне, как отображать предупреждение, когда пределы сдерживания достигнуты?предупреждение при достижении предела ограничения

Заранее спасибо.

+0

Что именно вы имеете в виду под «пределы сдерживания»? – Tauren

+0

Если вы имеете в виду, когда перетаскиваемый объект достигает элемента droppable, и вам нужна визуальная обратная связь, вам нужно установить параметр hoverClass и использовать CSS для стиля droppable с этим классом. – stagas

+0

Я предполагаю, что он имеет в виду, когда пользователь перетягивается до границ элемента, установленного в качестве оболочки – redsquare

ответ

3

Вы можете проверить, что положение не меняется, когда drag event является встречающийся, например:

var position = {}; 
$("#draggable").draggable({ 
    containment: 'document', 
    drag: function(event, ui) { 
    if(position.top == ui.position.top && position.left == ui.position.left) { 
     alert("Constrained"); 
     return false; 
    } 
    position = ui.position; 
} 
});​ 

You can play with a demo of this here

+0

Пример работает, но ... Как предотвратить несколько предупреждений? Если я вызываю функцию вместо предупреждения, будет ли функция выполняться столько раз, сколько будет сделано предупреждение? – Moustard

+0

@Moustard - он предупреждает о том, что вы предотвращаете перетаскивание, потому что вы нажимаете ограничение, оно только предупреждает, когда вы перетаскиваете его и снова нажимаете. Как отмечает Феликс в комментариях, я не уверен, что это поведение, которое вы * хотите *, как только подумаете об этом. Если вы выполняете функцию здесь, она будет выполняться каждый раз, когда они попадают в край ... если это не то, что вы хотите, тогда подумайте об этом, как бы вы сказали, что я хочу запустить его на этот раз, но не в это время ? Если это не основано на времени, здесь нет отличного способа дроссельной заслонки. –

+0

Итак ... Как запустить функцию только один раз, когда пределы достигнуты? Я могу установить глобальный и запустить только функцию, пока она ложна ... Любые предложения? – Moustard

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