Пакет SSIS подошел бы лучше всего, чтобы сделать передачу, потребуются буквально секунды для установки!
Это события мутации .
Я не использовал API событий мутации в jQuery, но беглый поиск привел меня к этому проекту на GitHub. Я не знаю о зрелости проекта.
Невозможно, я считаю, например, есть событие изменения содержимого, но это определенно не x-browser
Должен ли я сказать, что невозможно без какого-то неприятного интервала в фоновом режиме!
Попробуйте это, он был создан Джеймсом Падолси (JP здесь, на SO) и делает именно то, что вы хотите (я думаю)
http: // james .padolsey.com / javascript / monitoring-dom-properties /
Попробуйте выполнить привязку к событию DOMSubtreeModified
, увидев, что тест также является частью DOM.
см. Этот пост здесь, на SO:
Браузер не будет запускать событие onchange для элементов Я думаю, что причина этого в том, что эти элементы не изменятся, если не будут изменены с помощью javascript. Если вам уже нужно изменить элемент самостоятельно (а не пользователем), то вы можете просто вызвать соответствующий сопутствующий код одновременно с изменением элемента, например: Вы также можете вручную запустить событие, подобное этому: Если ни одно из этих решений не работает в вашей ситуации, не могли бы вы предоставить дополнительную информацию о том, чего вы конкретно пытаетесь достичь?
$("#content").html('something').each(function() { });
$("#content").html('something').change();
Попробуйте плагин LiveQuary. Кажется, работает на что-то подобное я делаю.
Часто простой и эффективный способ добиться этого - отслеживать, когда и где вы изменяете ДОМ.
Вы можете сделать это, создав одну центральную функцию, которая всегда отвечает за изменение DOM. Затем вы выполняете необходимую очистку измененного элемента из этой функции.
В недавнем приложении мне не требовались немедленные действия, поэтому я использовал обратный вызов для функции handly load (), чтобы добавить класс к любым измененным элементам, а затем обновлять все измененные элементы каждые несколько секунд с помощью таймера setInterval.
$($location).load("my URL", "", $location.addClass("dommodified"));
Тогда вы можете справиться с этим, как хотите - например,
setInterval("handlemodifiedstuff();", 3000);
function handlemodifiedstuff()
{
$(".dommodified").each(function(){/* Do stuff with $(this) */});
}
Я знаю, что этому сообщению уже год, но я хотел бы предложить другой подход к решению для тех, у кого есть похожая проблема:
Событие изменения jQuery используется только для пользователя поля ввода, потому что, если что-то еще манипулируется (например, div), эта манипуляция исходит из кода. Итак, найдите, где происходит манипуляция, а затем добавьте туда все, что вам нужно.
Но если это невозможно по какой-либо причине (вы используете сложный плагин или не можете найти какие-либо возможности «обратного вызова»), то подход jQuery, который я бы предложил:
a. Для простых манипуляций с DOM используйте цепочку и обход jQuery, $("#content").html('something').end().find(что угодно)....
b. Если вы хотите сделать что-то еще, используйте jQuery bind
с пользовательским событием и triggerHandler
$("#content").html('something').triggerHandler('customAction' );
$('#content').unbind().bind('customAction', function(event, data) {
//Пользовательское действие
});
Вот ссылка на обработчик триггеров jQuery: http://api.jquery.com/triggerHandler/