Подсказки jQuery на динамически генерируемой странице - PullRequest
3 голосов
/ 28 апреля 2010

Его я пытаюсь добавить всплывающую подсказку jQuery в динамически генерируемый список, текст, на котором я хочу отобразить всплывающую подсказку, находится в таблице, поэтому моя подсказка CSS не работает:

CSS-подсказка .

Я пытался добавить эту подсказку jQuery на страницу, она работает на моей локальной тестовой странице, но я думаю, что проблема связана с уникальными идентификаторами, и я не уверен, как реализовать функция bind all объяснена там:

"Чтобы связать все цели с соответствующим содержимым, требуется всего одна строка:

$(".tooltip-target").ezpz_tooltip();
Calling ezpz_tooltip()

в классе будет привязывать событие наведения к каждому элементу, и из-за соглашения об именах он будет знать, какой контент отображать. "

Может ли кто-нибудь помочь мне понять, что именно мне нужно сделать, чтобы эта работа работала на динамической странице?

Страница Euroworker's Checkout product page. (Вам нужно будет добавить некоторые предметы в корзину, нажать кнопку «Домой» слева от панели bnav и нажать маленькую белую кнопку «kjøp», а затем оранжевую кнопку «handlevogn».)

Спасибо.

Ответы [ 3 ]

4 голосов
/ 28 апреля 2010

Полагаю, вы можете звонить jQuery(".tooltip-target").ezpz_tooltip(); каждый раз, когда добавляете новый предмет (при условии, что у них будет класс tooltip-target), но я не уверен, что это совершенно верно.

Еще один способ достичь желаемого - использовать плагин, такой как livequery . С плагином вам просто нужно что-то вроде:

jQuery(".tooltip-target").livequery(function(){
   j(this).ezpz_tooltip();
})
1 голос
/ 28 апреля 2010

Скрипт simpletip.js связан неверно. Возвращается страница ошибки 404.

<script type="text/javascript" src="www/public/javascript/frontend/simpletip.js"></script>

Ваша страница выдает несколько ошибок JavaScript при загрузке. Я получил это с консоли в firebug.

syntax error
[Break on this error] <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"\n
simpletip.js (line 4)

container.getElementsByClassName is not a function
[Break on this error] $A(container.getElementsByClassName('productOptionsMenu')).each(
gzip.p...8031024 (line 4441)

uncaught exception: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIDOMViewCSS.getComputedStyle]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: http://media1.juggledesign.com/portfolio/js/jquery.js :: anonymous :: line 22" data: no]
[Break on this error] (no source for )

$("searchField").addClassName is not a function
[Break on this error] $('searchField').addClassName('quickSearch');
gzip.p...8031024 (line 4928)

Я не уверен, что очистка поможет решить проблему, но, по крайней мере, это начало.

1 голос
/ 28 апреля 2010

У меня недостаточно информации для решения проблемы, но эти советы могут вам уже помочь:

  • Ссылка на скрипт простой подсказки выглядит абсолютной: -> предназначен ли www / public?
  • Ваша страница не проверяется с помощью валидатора HTML W3C - что может вызвать проблемы с манипулированием DOM
  • Ваш javascript выдает ошибки (вы используете вместе прототип и jquery? Будьте осторожны)
  • Вы должны использовать Firebug или Opera Dragonfly, чтобы увидеть больше деталей.

Попробуйте сделать страницу как можно меньше (удалите лишние элементы) и сделайте так, чтобы она работала там. Затем загрузите (сначала в тестовый каталог;))

...