Использовать ExtJs и JQuery вместе в одном приложении?

У нас есть большое приложение ExtJS (по-прежнему ExtJs 2), которое предоставляет функциональность, аналогичную Windows Explorer, на сервере Java EE. Теперь мы оцениваем реализацию новой функциональности; мы могли бы основывать эту функциональность на плагине jQuery.

Рекомендуется ли использовать jQuery и ExtJ в одном приложении? Или мне придется бороться с возникающими побочными эффектами?

4 ответа

Решение

Вам не придется иметь дело с какими-либо побочными эффектами. Единственные проблемы, с которыми я когда-либо сталкивался, это когда я пытался воздействовать на элементы, которые Extjs полагал, что их оставили в покое. Просто убедитесь, что когда вы начинаете работать с использованием jQuery, вы работаете внутри div, с которым extjs не планирует связываться. Лучший способ сделать это - унаследовать от Ext.Component и затем работать внутри предоставляемого им div. Ext ничего не делает внутри этого div, так что вы должны быть в порядке. Вы также можете использовать функцию изменения размера, если вам это необходимо, хотя в этом нет особой необходимости.

Моя компания делает это без проблем на довольно большом сайте Apache/Catalyst. Мы используем jQuery(), а не $() из-за некоторых старых прототипов на нашем сайте.

Еще: Blueprint CSS Extjs и JQuery на одной странице, лучший способ заставить их сосуществовать без конфликтов

Держать jQuery в пространстве имен jQuery http://api.jquery.com/jQuery.noConflict/

Используйте это так: $.noConflict ();

jQuery добавляет только один объект (jQuery) в контекст окна, поэтому у вас не будет никаких конфликтов.

ПРОБЛЕМА. Некоторые сторонние библиотеки для jquery могут полагаться на статическую организацию веб-страниц. Поскольку компоненты ExtJS могут быть добавлены на веб-страницу динамически - они не будут иметь функций из сторонних библиотек.

РЕШЕНИЕ: Вам нужно будет запустить скрипт этой библиотеки после добавления компонента (например, использовать событие afterrender). Затем вы можете вызывать эти функции в этом компоненте ext.

Другие вопросы по тегам