Пользовательский Qualtrics JS Custom работает при предварительном просмотре вопросов, но не в реальном опросе.Javascript

Форум по Javascript
Ответить
Anonymous
 Пользовательский Qualtrics JS Custom работает при предварительном просмотре вопросов, но не в реальном опросе.

Сообщение Anonymous »

Я считаю, что это довольно распространенная проблема, однако мне не удалось найти решение. Я создал вопрос в произвольной форме с помощью перетаскивания в Qualtrics, используя собственный JS, который отлично работает, когда я просматриваю вопрос, но не работает, если я просматриваю блок, просматриваю блок или принимаю участие в опросе. Часть кода JS и некоторые операторы журнала приведены ниже, и я был бы признателен, если бы кто-нибудь узнал, как я могу заставить это работать!

Код: Выделить всё

Qualtrics.SurveyEngine.addOnload(function () {
const draggableIcons = document.querySelectorAll('#breakfast, #dinner');

draggableIcons.forEach(icon => {
let isDragging = false;
let offsetX, offsetY;

icon.style.position = 'absolute';
icon.style.zIndex = '1000';

// Start dragging
icon.addEventListener("mousedown", (event) => {
isDragging = true;
offsetX = event.clientX - icon.getBoundingClientRect().left;
offsetY = event.clientY - icon.getBoundingClientRect().top;
icon.style.cursor = "grabbing";  // Change cursor on drag
event.preventDefault();

document.addEventListener("mousemove", onMouseMove);
document.addEventListener("mouseup", onMouseUp);
});

// Handle dragging
function onMouseMove(event) {
if (isDragging) {
icon.style.left = `${event.clientX - offsetX}px`;
icon.style.top = `${event.clientY - offsetY}px`;
}
}

// Stop dragging and reset cursor
function onMouseUp() {
isDragging = false;
icon.style.cursor = "grab";  // Reset cursor
document.removeEventListener("mousemove", onMouseMove);
document.removeEventListener("mouseup", onMouseUp);
}
});

});
Я опробовал некоторые операторы console.log, и когда я нахожусь в режиме «предварительного просмотра вопроса», я получаю правильные журналы (например, «завтрак перетаскивается на: (248.333px, 244.333px) ), Прекратите перетаскивать завтрак в конечное положение: (248.333px, 244.333px)”). Таким образом, я могу перетаскивать и видеть, что элементы загружаются/записываются правильные имена и позиции. Когда я провожу опрос или использую «блок предварительного просмотра», журналы показывают, что элементы и координаты не загружаются (например, «перетаскивается в: (, ), Остановить перетаскивание в конечном положении: (, )» ). Использование addOnload или addOnready не дало никаких результатов, и я не могу понять, в чем здесь причина проблемы!
Я пытался создать вопрос в произвольной форме с перетаскиванием, я этого ожидал работать так же, как при предварительном просмотре вопроса, но перестает работать во время самого опроса.

Подробнее здесь: https://stackoverflow.com/questions/793 ... ual-survey
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»