У меня есть функция, которая захватывает XML-документ и преобразовывает его согласно документу XSL. Это затем помещает результат в отделение с идентификатором laneconfigdisplay
. То, что я хочу сделать, отдельное к логике преобразования, установите событие изменения jQuery для того отделения, таким образом, я могу сказать, когда это изменилось и выполнило некоторый код jQuery.
Я попробовал следующее, но это не работает!
$(document).ready(function()
{
$('#laneconfigdisplay').change(function() {
alert('woo');
});
//Do XML / XSL transformation here
});
<!-- HTML code here -->
<div id="laneconfigdisplay"></div>
Что я делаю неправильно?
Вы можете создать свои собственные пользовательские события, чтобы у вас оставалось четкое разделение логики.
Привязка к пользовательскому событию:
$('#laneconfigdisplay').bind('contentchanged', function() {
// do something after the div content has changed
alert('woo');
});
В вашей функции, которая обновляет div:
// all logic for grabbing xml and updating the div here ..
// and then send a message/event that we have updated the div
$('#laneconfigdisplay').trigger('contentchanged'); // this will call the function above
Событие change
ограничено input
, textarea
& и select
.
См. http://api.jquery.com/change/ для получения дополнительной информации.
изменение работает только с элементами формы ввода.
вы можете просто запустить функцию после преобразования XML / XSL или создать слушателя:
var html = $('#laneconfigdisplay').html()
setInterval(function(){ if($('#laneconfigdisplay').html() != html){ alert('woo'); html = $('#laneconfigdisplay').html() } }, 10000) //checks your content box all 10 seconds and triggers alert when content has changed...