Странно, это , а не что-то, что должно происходить, если честно. Поскольку mootools 1.2.3 (?) (Возможно, был 1.2.1), он НЕ будет принимать присвоение $, если оно уже определено на странице. То есть, если порядок загрузки такой, как описано:
JQuery
MooTools
... тогда moootools автоматически перейдет в режим совместимости и вернется к document.id. Единственный случай, когда это не будет истиной, - это если jquery загружается в режиме noConflict, что помешает ему назначить jQuery для $ и не даст повода mootools не захватывать его.
Во всяком случае, это теория. Если вы видите другое поведение, значит, с браузером что-то не так. Вы лениво загружаете или неблокируете / параллельно загружаете скрипты?
Обычно здесь рекомендуется оставлять jquery в собственном режиме (без noConflict) и переназначать $ на document.id, чтобы позаботиться о mootools в такой области видимости:
<div id="foo"></div>
, а затем:
$("#foo"); // jquery
(function($) {
$("foo"); // mootools.
})(document.id);
В последнее время было множество вопросов по этому вопросу, просто прочитайте последние вопросы о mootools. в противном случае, пожалуйста, опубликуйте URL вашего проекта.
Очевидно, что вы можете console.log ($) проверить / подтвердить это:
http://www.jsfiddle.net/AxVqy/ -> контрольный пример