2016-09-06 3 views
1

Я хочу использовать DataTables (jQuery-plugin) для отображения данных. Установка и настройка завершена, поиск в моих данных с помощью DataTables пока прекрасен. Я использую DataTables v1.10.12, мой jQuery придерживается 1.9.1.Как отключить привязку клавиш в DataTables

Я хочу отключить привязки событий или вообще не иметь событий - как я могу это сделать?

фон

Я занимаюсь разработкой плагин для приложения 3 партии. Это приложение инкапсулирует jQuery, я не могу это изменить.

При использовании DataTables, я бегу в ошибку

TypeError: Cannot read property 'length' of undefined 

Сейчас я работаю вокруг этого вопроса

jQuery("#my-table").DataTable({"ordering": false, "paging":false}); 

Я понятия не имею,, где эта ошибка происходит из, но У меня есть трассировка стека, и я вижу, что если я не буду связывать некоторые события, эта проблема не возникнет. Конечно, это нехорошее решение, но на время я могу использовать.

Uncaught TypeError: Cannot read property 'length' of undefined 
jQuery.extend.map @ batch.js?analytics-enabled=true&bamboo-nps-dark-feature=true&devtoolbar=true&is-server-instance=tru…:876 
(anonymous function) @ batch.js?analytics-enabled=true&bamboo-nps-dark-feature=true&devtoolbar=true&is-server-instance=tru…:30520 
keyHandler @ batch.js?analytics-enabled=true&bamboo-nps-dark-feature=true&devtoolbar=true&is-server-instance=tru…:30523 
jQuery.event.add @ batch.js?analytics-enabled=true&bamboo-nps-dark-feature=true&devtoolbar=true&is-server-instance=tru…:4926 
jQuery.event.add @ batch.js?analytics-enabled=true&bamboo-nps-dark-feature=true&devtoolbar=true&is-server-instance=tru…:10312 
... 
jQuery.fn.extend.bind @ batch.js?analytics-enabled=true&bamboo-nps-dark-feature=true&devtoolbar=true&is-server-instance=tru…:7673 
_fnBindAction @ jquery.dataTables.js:6533 
_fnSortAttachListener @ jquery.dataTables.js:6154 
_fnBuildHead @ jquery.dataTables.js:3210 
_fnInitialise @ jquery.dataTables.js:4682 
(anonymous function) @ jquery.dataTables.js:1339 

С:

jquery.dataTables.js:6526 function _fnBindAction(n, oData, fn) 
jquery.dataTables.js:6527 { 
jquery.dataTables.js:6528  $(n) 
jquery.dataTables.js:6529   .bind('click.DT', oData, function (e) { 
jquery.dataTables.js:6530     n.blur(); // Remove focus outline for mouse users 
jquery.dataTables.js:6531     fn(e); 
jquery.dataTables.js:6532    }) 
jquery.dataTables.js:6533   .bind('keypress.DT', oData, function (e){ 
+0

не был бы выключен() работает дать ему селектор DT и передавать события – Viney

+0

Пробовали, как описано в https://datatables.net/reference/api/off()? - не помогает. My TypeError возникает из DataTables-constructor. Я не ожидал, что это будет help, поскольку события завершаются после моей ошибки - но спасибо за ввод! –

+0

Показать HTML-разметку для '# my-table', скорее всего, она имеет несоответствие столбцов в элементах' thead' и 'tbody' или некоторые другие структурные проблемы. –

ответ

1

Есть такая же проблема сегодня с JIRA. Это на самом деле ошибка в Atlassian AUI, поскольку они перезаписывают некоторый код в jquery-hotkey, см. https://ecosystem.atlassian.net/browse/AUI-1283 и https://bitbucket.org/atlassian/aui/diff/src/js/jquery/jquery.hotkeys.js?diff2=3a600c290f9c
DataTables пытается зарегистрировать собственные горячие клавиши и не удается.

Чтобы исправить это, вы можете

  • Обновить ваш бамбук на более новую версию
  • Удалить из DataTables данного сочетания клавиш, что означает удаление «.bind („keypress.DT“...» в jquery.dataTables.js # _fnBindAction
+0

Спасибо за ввод, я посмотрю на него. –

Смежные вопросы