Я конвертирую старый код jQuery версии 1.2.6, который мы используем с нашим порталом (Liferay). Раньше мы использовали плагин livequery для добавления событий к динамически добавленным объектам DOM. Теперь это функция, встроенная в jQuery (функция on()). Я понял это.Изменение динамически добавленных элементов при загрузке с использованием jQuery
Однако, существует также возможность в livequery, что позволило нам изменить эти динамически загружаемые объекты на нагрузке (т.е. не привязаны к определенным событиям):
$(".myTextBox").livequery(function() { $(this).val("initial value"); });
Я не контролирую код при Аякса портлетов загрузитесь на нашем портале, поэтому я не могу изменять контент при его создании.
Я пробовал несколько вещей безрезультатно. Вот тот, который, как я думал, будет работать, но нет. Я добавил jQuery в свой портлет, чтобы он загружался в нижней части портлета HTML, и я добавил jQuery в файл.
<footer-portlet-javascript>myscript.js</footer-portlet-javascript>
...
$(document).ready(function() {
$(".myTextBox").val("initial value");
});
Это не работает. Если я пишу предупреждение ($ (". MyTextBox")), он показывает объект, но предупреждение ($ (". MyTextBox"). Val()) не определено.
Любые идеи о том, как я могу работать?
Я хочу изменить элементы, когда они загружены, а не привязать их к событию. Я уже это сделал. Где вы размещаете функцию AUI(). Ready? Может ли это быть помещено в JS портлета? Я стараюсь не ставить JS в тему (ы). – acvcu
Понял, я понял, что после того, как я опубликовал, но событие allPortletsReady должно дать вам то, что вам нужно. Да, вы можете поместить функцию AUI(). Ready в портлете JS. И вы можете использовать jQuery из блока AUI(). Ready() по мере необходимости. В моем примере используется AUI .one() для выбора элемента, но его можно легко заменить на $ («# mySelector»). Val («начальное значение») для вашего случая. – Barryrowe
Это работает, когда страница загружается, но она не попадает в JS, если портлет обновлен или портлет добавлен на страницу. Я использую портлеты ajax, которые загружаются асинхронно - не все сразу. Есть идеи? – acvcu