serg_small_developer
@serg_small_developer
Начинающий прогер

Почему не работает копирование и вставка в модальном окне?

Всем привет. Никак не могу понять в чем дело, использую эту либу, если эту таблицу формировать при загрузке страницы то все норм, но мне нужно сделать так чтобы после загрузки стр. пользователь мог нажать соответствующую кнопку и в модалке показать ему таблицу с нужными данными, делаю вот так
модалка
<div  id="modalItem" tabindex="-1" role="dialog"  data-keyboard="false" aria-labelledby="modal-title" aria-hidden="true">
	<div class="row-col h-v">
		<div class="row-cell v-m">
			<div class="modal-dialog modal-lg">
				<div class="modal-content"> 
					<div class="modal-header">
					</div>
					<div class="modal-body text-center">
						<div id="hot" class="hot handsontable"></div> 
					</div>
					<div class="modal-footer">
					</div>
				</div>
			</div>
		</div>
	</div>
</div>

js
var container = document.getElementById('hot');
var hot;
hot = new Handsontable(container, {
	fillHandle: false,
	rowHeaders: true,
	fixedColumnsLeft: 1,
	colHeaders: 
		['header1', 'header2', 'header3'],
	columns: [
		{data: 'var1', readOnly: true},
		{data: 'var2',},
		{data: 'var3',},
	],
	afterChange: function (change, source) {
      if (source === 'loadData') {
        return; //don't save this change
      }

    }
});

var load = document.getElementById("button");
Handsontable.dom.addEvent(load[0], 'click', function() {
	$.ajax({
		type: 'POST',
		url: 'url',
	})
	.done(function(result) {
		var data = [];
		$.each(result.answer, function( index, value ) {
			data.push( {
				var1: value.var1,
				var2: value.var2,
				var3: value.var3,
			} );
		});
		hot.loadData(data);
		hot.render();
	});
});


все работает корректно кроме одного, я не могу скопировать любую группу ячеек и вставить в эту таблицу, т.е. внутри этой сформированной таблицы нет возможности вставлять скопированные данные и копировать так же, просто редактировать отдельные ячейки можно, а вот копировать\вставлять нет. Вначале написал что если грузить полностью таблицу с данными сразу со страницей то все ок, а если через ajax и модалку то не работает.
Нет возможности это значит что я нажимаю ctrl+с потом ctrl+v, а оно ничего не делает, так же просто копирую и пробую вставить в редактор или еще куда-то, а мне вставляет данные из буфера которые я копировал до этого
Подскажите пожалуйста что я делаю не так.

P.s. пробовал на нескольких компах, и в разных браузерах, и сработало все как нужно только в опере на одном ПК и в edge, вообще не понимаю в чем проблема, отладчик никаких ошибок не пишет
  • Вопрос задан
  • 95 просмотров
Решения вопроса 1
serg_small_developer
@serg_small_developer Автор вопроса
Начинающий прогер
может кому-то будет полезно полный код был такой
Handsontable.dom.addEvent(load[0], 'click', function() {
	$.ajax({
		type: 'POST',
		url: 'url',
	})
	.done(function(result) {
		var data = [];
		$.each(result.answer, function( index, value ) {
			data.push( {
				var1: value.var1,
				var2: value.var2,
				var3: value.var3,
			} );
		});
		hot.loadData(data);
		hot.render();
                $('#modalItemDel').modal('show');
	});
});

т.е. в конце я еще делал вот так
$('#modalItemDel').modal('show');
после того как я убрал эту строку все заработало должным образом
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы