2015-05-13 3 views
2

Я добавляю/удаляю с помощью jquery в/из набора элементов class = "draggable", которые я использую с помощью взаимодействий. Когда я добавить некоторые новые элементы с определенными позициями, например:Вручную запускать onmove в interactive.js

<p class="draggable" data-x="100" data-y="100"> 

Они не появляются в правильном положении, только после того, как я прикоснулся к ним один раз с помощью мыши и соответствующее interactjs события было призвано обновить позицию.

Как я могу запустить это вручную с помощью jquery, если мой список объектов выглядит так?

$(data).each(function() { 
    $(this).update() ?? 
} 

Спасибо!

+0

Мне обязательно понадобится скрипка для игры с – myfunkyside

+0

@myfunkyside: Посмотрите на https://jsfiddle.net/vb100h2n/. Существует обходное решение с абсолютной позицией для обеспечения его соблюдения на определенной позиции. Однако должен быть нормальный способ установить $ (el) .css() координату x и y элемента, а затем обновить визуальную позицию, просто вызвав слушателей. Как? – Shiuyin

+0

В вашей скрипке вы уже применили это обходное решение? Потому что я не могу найти то, что не работает (имейте в виду, что я не знаю этот код и не имею опыта работы с interactivejs). Не могли бы вы вставить строки кода в свой ответ, которые вызвали бы проблему, а затем также вставить обходной путь, который вы нашли, чтобы я (и все остальные) точно знал, где находится проблема. (И, пожалуйста, внесите обновление вашей скрипки в исходное состояние вашего кода, с ошибкой, чтобы мы могли увидеть, где проблема. – myfunkyside

ответ

0

Возможно, вы уже решили это, но поскольку у меня была такая же проблема, возможно, я напишу свое решение здесь. Добавление CSS-преобразований помогло, например:

<p class="draggable" data-x="100" data-y="100" style="transform: translate(100px, 100px); -webkit-transform: translate(100px, 100px);"> 

Элемент должен теперь отображаться в нужном месте.