Проблема такова, при использовании скрипта якоря, выделение кода работает некорректно, т.е нажимаем выделить и перекидывает тут же в самый верх страницы. Если убрать скрипт якоря, выделение кода работает нормально.
Выделение кода
<script type="text/javascript"> function select_text(elem) { if(window.getSelection) { var s=window.getSelection(); if(s.setBaseAndExtent){ s.setBaseAndExtent(elem,0,elem,elem.innerText.length-1); } else { var r=document.createRange(); r.selectNodeContents(elem); s.removeAllRanges(); s.addRange(r); } } else if(document.getSelection){ var s=document.getSelection(); var r=document.createRange(); r.selectNodeContents(elem); s.removeAllRanges(); s.addRange(r); } else if(document.selection){ var r=document.body.createTextRange(); r.moveToElementText(elem); r.select(); } } </script> <script type="text/javascript"> var div = document.getElementById('pun-main').getElementsByTagName('div'); for(x in div){ if(div[x].className=='code-box'){ div[x].getElementsByTagName('strong')[0].innerHTML = '<a href="#" onclick="select_text(this.parentNode.parentNode.childNodes[1].getElementsByTagName(\'pre\')[0]); return false;">Выделить код</a>'; } } </script>
Якорная ссылка
<script type="text/javascript"> $('#post').find("#button-addition").after('<td id="button-aanchor"><img style="width: 20px!important; height: 20px!important; margin-left: 4px!important;" src="https://forumstatic.ru/files/0012/e8/7a/38504.png" title="Вставить якорь" id="button-aanchor" onclick=\"addanchor()\"></td><td id="button-anchor"><img style="width: 20px!important; height: 20px!important; margin-left: 4px!important;" src="https://forumstatic.ru/files/0012/e8/7a/97990.png" title="Вставить ссылку на якорь" id="button-anchor" onclick=\"anchoru()\"></td>'); function addanchor(){ var adnchor = ''; adnchor = prompt("Введите название якоря", "#"); insert("[url&" + adnchor + "]" + adnchor + "[/url]\n"); } function anchoru(){ var anchorp = ''; anchorp = prompt("Введите название якоря", "#"); var anchorc = ''; anchorc= prompt("Введите описание якоря", "Описание"); insert("[url=http://anchor" + anchorp + "]" + anchorc + "[/url]\n"); } $('.post-content').each(function(){ $(this).find('p:contains("[url&#"),div[onclick]:contains("[url&#")').each(function(){ var str=$(this).html(); var val = str.replace(/\[url&#[^\[\]]+\]#([^\[\]]+)\[\/url\]/img,'<a id="$1"></a>'); if(val!=str)$(this).html(val); }); $(this).find('a[href*="//anchor"]').each(function(){ var href=$(this).attr('href'); href = href.split('#')[1]; if(!!href){$(this).removeAttr('target');$(this)[0].href = '#'+href; var str = $(this).text(); if(str.indexOf('http://')==0)$(this).text(href); } }); }); $('.post-content').find('a[href^="#"]').live('click', function(){ var lnk = $(this).attr('href'); var a=$('.post-content').find('a[id="'+lnk.substr(1)+'"]'); b = a.parents('.spoiler-box').find('div[onclick]:first').not('.visible'); if(b.length)b.click(); setTimeout(function(){location.replace(document.URL.split('#')[0]+lnk)},10) return false; }); </script>
Где же закрался косяк?