Используйте синтаксический ярлык для загруженного содержимого AJAX
Как я могу использовать синтаксис синтаксиса Алекса Горбачева в содержимом, загруженном после события "загрузка" окна "окно"? Я пробую так:
$.ajax({
url: file,
success: function(data) {
$('.fileName').text(file);
$('#fileSource > pre').text(data);
SyntaxHighlighter.all();
}
});
... но он не работает. Мне нужно упомянуть, что вызов ajax может произойти в любое время после загрузки страницы.
Привет
Ответы
Ответ 1
- SyntaxHighlighter.all()
связывает загрузку окна. Поэтому, если вы хотите выделить элемент при загрузке страницы, используйте этот метод.
- SyntaxHighlighter.highlight()
выделяет элементы всякий раз, когда вы вызываете этот метод. Поэтому вам лучше использовать это.
- SyntaxHighlighter.highlight()
принимает два параметра, оба являются необязательными.
1. Параметр globalParams:
@param {Object} globalParams, Необязательные параметры, которые переопределяют параметры элемента. Используется только в том случае, если элемент указан.
2. Элемент параметра:
Элемент @param {Object}, дополнительный элемент для выделения. Если ни один не указан, все элементы в текущем документе выделены.
- Для получения дополнительной информации об этом перейдите к syntaxhighlighter_3.0.83/src/shCore.js
Ответ 2
Я нашел ответ на свой вопрос в одном из своих примеров:
$.ajax({
url: file,
success: function(code) {
$('.fileName').text(file);
var brush = new SyntaxHighlighter.brushes.JScript(),
html;
brush.init({ toolbar: false });
html = brush.getHtml(code);
document.getElementById('source').innerHTML = html;
}
});
Ответ 3
просто добавьте этот раздел
$(document).ready(function () {
$('.code').each(function () {
SyntaxHighlighter.all();
});
});