В дополнение к «необработанным» инструментам, предоставленным MutationObserver
API , существуют «удобные» библиотеки для работы с DOM-мутациями.
Рассмотрим: MutationObserver представляет каждый DOM изменение в терминах поддеревьев. Итак, если вы, например, ожидаете, что какой-то элемент будет вставлен, он может быть глубоко внутри детей mutations.mutation[i].addedNodes[j]
.
Еще одна проблема заключается в том, что ваш собственный код в ответ на мутации, изменения DOM - вы часто хотите отфильтровать его.
Хорошая библиотека удобства, разрешающая такие проблемы, - mutation-summary
(отказ от ответственности: я не автор, просто доволен user), который позволяет вам указывать запросы о том, что вас интересует, и получить именно это.
Пример основного использования из документов:
var observer = new MutationSummary({
callback: updateWidgets,
queries: [{
element: '[data-widget]'
}]
});
function updateWidgets(summaries) {
var widgetSummary = summaries[0];
widgetSummary.added.forEach(buildNewWidget);
widgetSummary.removed.forEach(cleanupExistingWidget);
}
Нет такой вещи как описание проекта, действительно. Существует столбец на странице Projects, которая используется так, Вы видите, какой проект является значением по умолчанию, встроенным ящиком входящих сообщений, и мы не могли думать ни о чем лучше для помещения как заголовок столбца для того столбца.
Описание главным образом для системных проектов, как входной почтовый ящик.
Вы смогли устанавливать один в базовой Таблице базы данных.
Вы не являетесь сумасшедшими. Это используется внутренне и даже не хранится в базе данных. Я задался вопросом то же самое, когда я сначала начал использовать FogBugz, но нашел, что запись форума ответила на мой вопрос. На сегодняшний день я все еще не думаю, что они реализовали его. Перепрыгните к FogCreek и отправьте запрос, если требуется сделать его доступным для редактирования.