DataTables.net Ошибка безопасности "code:" 1000 - PullRequest
0 голосов
/ 23 декабря 2010

Надеюсь, что кто-то может помочь мне здесь ...

У меня есть плагин DataTables jquery, настроенный для возврата HTML в данных json, возвращаемых с сервера.Пример данных строки выглядит следующим образом:

["<input type='checkbox' id='2' />","<img src='images/playbtn.png' width='24' height='24' /><a href='javascript:void(0)' onClick='openDialog(0)'>oK5ktqWTOsiyP5wH75tFj2yIY8XprWOwB</a>","11/18/2010 08:16:28 PM","juan j","juan j","incoming","00:02:38","","<img src='images/share.png' class='tableimage' title='Share Call With Friends' /> <img src='images/download.png' class='tableimage' title='Download Call' /> <img src='images/page_edit.png' class='tableimage' title='Edit Call Info' /> <img src='images/trash.gif' class='tableimage' title='Delete Call' />"]

Дисплей работает нормально и все данные возвращаются красиво.

Цель первого тега - открытьJQuery диалоговое окно.Я правильно установил jquery и знаю, что он написан правильно.Однако моя проблема заключается в том, что, когда я нажимаю на ссылку в ячейке DataTable, ничего не происходит, и я вижу код «Ошибка безопасности»: «1000» в firebug, предупреждение, которое я вставил в функцию, даже не срабатывает.Я не знаю, что означает эта ошибка, но сначала я подумал, что это было результатом наличия большого количества элементов div на странице, но затем я сделал быстрый пример страницы с только сеткой и элементом div, предназначенным дляподойти как диалоговое окно .. что тоже не сработало.Кто-нибудь знает, почему этот тип ошибки будет вызван DataTable?

Спасибо!

1 Ответ

0 голосов
/ 23 декабря 2010

Я не знаю, почему вы получаете этот код ошибки безопасности, но одну вещь, которую вы можете попробовать вместо добавления встроенного JavaScript внутри ячейки таблицы, - это прикрепить обработчик события click к таблице и использовать делегирование события для обработкисобытие.Вот пример:

$('table').delegate('a', 'click', function(e) {

    openDialog(0);

    // note: 'this' is the 'a' DOM element, so you can do additional things with it.  For example:
    var $a = $(this);
    var href = $a.attr('href');
    // now do something with href

});

Я использовал эту технику с DataTables, и она хорошо работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...