Событие пожара, когда перетаскивание jQuery Splitter прекращается
Я использую плагин jQuery Splitter от https://github.com/jcubic/jquery.splitter. Сплиттер работает отлично. Мне нужно знать, как я могу запустить какое-то событие, как только я остановлю перетаскивание сплиттера. Мне нужно сохранить новое положение левого сплиттера в фоновом режиме и использовать его в следующий раз.
mouseup, события mousemove не работают должным образом. Ниже приведен метод, который я попробовал. Работает только при щелчке мышью по сплиттеру без его перетаскивания (щелчок мышью в той же позиции). Как только вы перетащите сплиттер, это не работает.
jQuery('.vspliter').on("mouseup", function (e) {
alert('Mouse is released now');
// call ajax function over here
});
Дайте мне знать, если потребуется дополнительная информация.
2 ответа
Я могу решить эту проблему с помощью кода ниже, обнаружив перетаскивание:
var isDragging = false;
jQuery('.spliter_panel').mousedown(function() {
jQuery('.spliter_panel').mousemove(function() {
isDragging = true;
jQuery('.spliter_panel').unbind("mousemove");
});
});
jQuery('.spliter_panel').mouseup(function() {
var wasDragging = isDragging;
isDragging = false;
jQuery('.spliter_panel').unbind("mousemove");
if (wasDragging) {
//Call Ajax method
}
});
Настройки для обработчиков поверхности разделителя уже для onDragStart, onDragEnd и onDrag, поэтому я смог получить информацию о положении просто:
$('.MySplitter').split({
orientation: 'vertical',
limit: 10,
onDragEnd: getSplitterLocation
});
function getSplitterLocation(e) {
console.log(e); // jQuery.Event
}
Может быть, это было добавлено в сплиттер после того, как был задан оригинальный вопрос...