JQuery конфликтует с will_paginate ajax pagination - PullRequest
0 голосов
/ 18 января 2011

Я последовал за этим и получил нумерацию страниц AJAX. Но когда я включаю библиотеку JQuery, она не работает. Я использую плагин jrails, но это тоже не помогает. Есть идеи? Спасибо !

Вот этот JavaScript

document.observe("dom:loaded", function() {
var container = $(document.body)
if (container) {
var img = new Image
img.src = 'images/spinner.gif'

function createSpinner() {
  return new Element('img', { src: img.src, 'class': 'spinner' })
}

container.observe('click', function(e) {
  var el = e.element()
  if (el.match('.pagination a')) {
    el.up('.pagination').insert(createSpinner())
    new Ajax.Request(el.href, { method: 'get' })
    e.stop()
  }
})

} })

EDIT

Это мой настоящий код, и он отлично работает, когда я не включаю JQUERY. Но мне нужно использовать как прототип, так и JQUERY. Кроме того, когда я нажимаю на одну из страниц № S, я получаю это

try {jQuery("#testing").html("\n  <div class=\"pagination ajax\"> ......

1 Ответ

1 голос
/ 18 января 2011

Когда вы включаете библиотеку jquery, предполагается, что все вызовы $ являются вызовами jquery (а не прототипа, например).Чтобы предотвратить это, вызовите метод noConflict для вашего объекта jquery сразу после его извлечения. См. http://api.jquery.com/jQuery.noConflict/

Когда вы это сделаете, jQuery будет игнорировать вызовы $: он будет отвечать только на "jQuery".", т.е.

$("foo").something => prototype
jQuery("foo").something => jQuery
...