Нашел хороший Jquery всплывающей функцию здесь:Уменьшения дублированного кода с помощью функции JQuery
JAVASCRIPT
$(function() {
$("#word1234").live('click', function(event) {
$(this).addClass("selected").parent().append('
<div class="messagepop pop">"Lorem ipsum dolor sit amet,
consectetur adipisicing elit, sed do eiusmod tempor incididunt</div>');
$(".pop").slideFadeToggle()
$("#email").focus();
return false;
});
$(".close").live('click', function() {
$(".pop").slideFadeToggle();
$("#contact").removeClass("selected");
return false;
});
HTML
<a href='/word1234' id='word1234'>Supercalifragilisticexpialidocious</a>
Есть ли более эффективный способ вызова этого всплывающего окна? Если у меня есть сотни определений на странице, я бы повторял много кода, казалось бы, излишне.
Если бы я делал это в родной JS, я бы просто установить функцию OnClick к HREF тега, что-то вроде
<a href="#" id="word1234" onClick="doPop(this, 'Lorem ipsum, ect.')">Supercalifragilisticexpialidocious</a>
Есть ли подобный метод вызова функции в JQuery?
EDIT После некоторой отладки, рабочий вариант обновленного/фиксированного сценария можно найти здесь: http://jsfiddle.net/N4QCZ/13/ HTH.
вместо идентификатора, который ограничивает вас к одному йот элемента, использование класс, который может применяться к как можно большему количеству элементов dom. –
Как вы определяете связь между всплывающим контентом и элементом? –
В моих собственных всплывающих библиотеках одним из способов добавления всплывающего окна является наличие атрибута: ''. It's easy with jQuery to select elements with the attribute : '$('[bubble]')'. –