Обнаружено, что при перепасе старницы с помощью jQuery, с изменением контента(введением -удалением сходных тегов), Привязка $(this) в onclick теряецо(Да и в любых других событиях прописанных в тегах, нужно использовать this чистого ява-Скрипт), поскольку в jQuery зачастую осуществляецо смена идентификатора объекта при смене контента.
Пример, (Давно наткнулся на этот трабл => Lytebox на форуме (слайдшоу и фотогалерея), но сейчас был конкретный пример: => http://poramor.rolevka.ru/viewtopic.php … p=6#p27587 - Пост 109
Мой давний метод борьбы с проблемой таков:
<script>
//Прописываем по клику Уникальный атрибут в текущем элементе, на котором и строим дальнейшую селекцию элемента
var numb_event=0;
function THiS(a){;numb_event++;var b=numb_event, d='numb_event';
if(a.getAttribute(d)==null){a.setAttribute(d,b);}else{b=a.getAttribute(d)};
return $("#pun *[numb_event='"+b+"']")
}
function abcd(a){ //Конкретная клик-функция
a.toggleClass('visible'); a.next().toggleClass('visible');
}
</script>
Контент
<div class="quote-box spoiler-box"><div onclick="abcd(THiS(this))">в прошлой серии|закрыть</div><blockquote><p>Фирмину замечает у Дианы синяк под глазом и приходит в ужас от осознания того, что муж ее бьет. Но Диана все отрицает. За завтраком в доме Лаэрти обсуждают очередное письмо с угрозой Каролине и решают пока не обращаться в полицию, посчитав все это несерьезным. Олаву объявляет всем, что собирается баллотироваться в префекты Санту-Сол, и Оливии это не нравится. Они ссорятся, и Эвелин уходит вслед за мамой. В кафе Тианы на набережной они встречают Иво и мило беседуют втроем, пока в баре не появляется Николас.</p></blockquote></div>
(А Перепарсивает контент в посте 109 Данный Скрипт(Там есть теги музыки
<!--audio в одном v.2.3--> <script type="text/javascript"> var player; $(function(){ $('td#button-code').before('<td style=\'background-image:url("http://uploads.ru/i/W/Q/P/WQPBO.gif")\' onclick="tag_play()"><img src="/i/blank.gif" title="Загрузить музыку"></td>'); $("div.post-content").map(function () { text = $(this).html(); if(text.indexOf("zippyshare.com") != -1) { player = /\[audio\]http:\/\/www(\d+)\.zippyshare\.com\/v\/(\d+)\/file\.html\[\/audio\]/gi $(this).html(text.replace(player, "<br /><embed type='application/x-shockwave-flash' src='http://api.zippyshare.com/api/mediaplayer/mediaplayer.swf' flashvars='height=20&width=400&file=http://www$1.zippyshare.com/downloadMusic%3Fkey%3D$2%26&volume=80&autostart=false&frontcolor=0x000000&backcolor=0xffffff&lightcolor=0x000000&type=flv' quality='high' menu='false' wmode='transparent' allowscriptaccess='always' height='20' width='400' name='mp3player' border='0' style='margin-bottom: 6px;'/>"));} if(text.indexOf("promodj.ru") != -1) { player = /\[audio\]http:\/\/(.*?)\.promodj\.ru\/(.*?)\/(\d+)\/(.*?)\.html\[\/audio\]/gi $(this).html(text.replace(player, "<br /><embed src='http://i.cdn.promodeejay.net/swf/bigwaveplayer_release9.swf' type='application/x-shockwave-flash' wmode='transparent' width='100%' height='150' allowFullScreen='true' flashvars='link=http%3A%2F%2Fpromodj.ru%2Fprelisten%2F$3%2Fbobmarley%3Fwtf%3D0.41394098338022567%26no_external%3D1&wave=http%3A%2F%2Fpromodj.ru%2Fwaveform_prelisten%2F$3%2Fbobmarley.png%3Fwtf%3D0.41394098338022567%26stub%3D1&slowChannel=1&autostart=0&volumePercent=100&wavecolor=12982542'></embed>")); } if(text.indexOf(".mp3") != -1) { player = /\[audio\](.*?)\[\/audio\]/gi $(this).html(text.replace(player, "<br /><embed src='http://www.demo-music.ru/pleer/pleer4.swf' type='application/x-shockwave-flash' allowscriptaccess='always' wmode='transparent' flashvars='comment=demo-music.ru&st=http://www.demo-music.ru/pleer/style_pleer.txt&file=$1' width='470' height='33'>")); } }); }); function tag_play() {var FoundErrors = ''; var enterURL = prompt("Введите ссылку на музыку с promodj.ru, zippyshare.com или прямую ссылку формата .mp3 ", "http://"); if (!enterURL) {FoundErrors += " " + error_no_url;} if (FoundErrors) {alert("Ошибка!" + FoundErrors); return;} insert("[audio]" + enterURL + "[/audio]");} </script>
*Возможно чистый ява-код для функции спойлера, - будет Выглядеть более элегантно
Отредактировано Deff (Вт, 27 Мар 2012 11:14:23)