Я заранее извиняюсь, но я новичок в JS.Обнаружение взаимодействия с JQuery Datatables
У меня есть проект asp.net mvc, который требует представления данных в режиме реального времени. Используя функции ajax datatables (jquery), я смог постепенно получать информацию из базы данных и перезагружать таблицу. Однако, когда функция перезагрузки вызывается, таблица перерисовывается, поэтому любое взаимодействие пользователя с данным datatable сбрасывается.
Я думаю, что лучший способ решить эту проблему - обнаружить какое-то взаимодействие пользователя с данным datatable и временно приостановить функцию setincrement (чтобы таблица не перезагружалась). Затем подождите столько секунд после взаимодействия, а затем снова начните процесс перезагрузки.
Я не знаю, достаточно ли JS для программирования любого такого обнаружения или даже паузы и/или сброса инкремента. Любая помощь была бы очень признательна, будь то ответ на мой вопрос напрямую или с лучшим решением.
Вот мой текущий JS для написания сценариев перезагрузки (и установив DataTable):
$(document).ready(function() {
var table = $('#myDataTable').DataTable({
autoWidth: false,
bProcessing: false,
sAjaxSource: '@Url.Action("GetDropData", "Drops")',
"columns":
[
{ "width": "10%" },
{ "width": "50%" },
{ "width": "40%" }
]
});
setInterval(function() {
table.ajax.reload(null, false); // user paging is not reset on reload
}, 500);
});
Каждый раз, когда я сказал, приращение притворяется, что я сказал интервал. Я смутился. – Validbit
Возможно, вы захотите посмотреть в SignalR –
. Я просмотрел его, и я думаю, что в конечном итоге это будет реализовано, но проблема будет по-прежнему сохраняться, потому что данные будут по-прежнему перерисовываться очень часто. (Таблицы в этой базе данных обновляются примерно каждые 0,5 секунды, когда приложение используется) – Validbit