Хорошо, вот ситуация. На этом я выдернул свои волосы.
Я новичок в этом. Использую рельсы только около 6 недель. Я использую стандартный пакет установки, и мой код сильно использует помощников прототипов. Как я уже сказал, нуб;)
Итак, я пытаюсь добавить некоторые эффекты jQuery, например PrettyPhoto. Но происходит то, что при первой загрузке страницы PrettyPhoto работает отлично. Однако, как только кто-то использует помощник по прототипу, например ссылку, созданную с помощью link_to_remote, Prettyphoto перестает работать.
Я пробовал jRails, все исправления, предложенные на сайте JQuery для предотвращения конфликтов ...
http://docs.jquery.com/Using_jQuery_with_Other_Libraries
... даже сделал некоторые безумные вещи, такие как переименование всех $ в prototype.js в $$$ безрезультатно. Либо помощники прототипа ломаются, либо ломается jQuery.
Кажется, я ничего не могу заставить их работать вместе.
Есть идеи?
Вот часть моего application.html.erb
<%= javascript_include_tag 'application' %>
<%= javascript_include_tag 'tooltip' %>
<%= javascript_include_tag 'jquery' %>
<%= javascript_include_tag 'jquery-ui' %>
<%= javascript_include_tag "jquery.prettyPhoto" %>
<%= javascript_include_tag 'prototype' %>
<%= javascript_include_tag 'scriptalicious' %>
</head>
<body>
<script type="text/javascript" charset="utf-8">
jQuery(document).ready(
function() {
jQuery("a[rel^='prettyPhoto']").prettyPhoto();
});
</script>
Если я поставлю прототип перед jquery, помощники по прототипу не будут работать
Если я добавлю предложение noconflict, ни один из них не будет работать.
Заранее спасибо!
Chris
Кстати: когда я пытаюсь это сделать, с сайта jQuery:
<script>
jQuery.noConflict();
// Use jQuery via jQuery(...)
jQuery(document).ready(function(){
jQuery("div").hide();
});
// Use Prototype with $(...), etc.
$('someid').hide();
</script>
моя страница исчезает!