[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: я просто в шоке, не понимаю как жить с этим
Guest
для меня понятие кроссбраузерност не ново, но я в первый раз сегодня столкнулся с полной нелепостью и вообще не понимаю в чем дело. помогите, пожалуйста!

в общем есть функция по вставке в поле бб-кода, она точно рабочая, на всех браузерах работает (и в ie) НО, я недавно добавил кроме обычного бб-кода смайлы и на тебе, все по той же схеме, а этот осел возвращает позиции курсора для смайл тэгов всегда 0. я думаю что за фигня - всю функция изнасиловал можно сказать - и нифига, ну не хочет он для смайлов возвращать позицию, потом взял и функцию для смайлов вызвал через див, в котором обычный тэг жирности вызывался - и хоп - все работает, оказывается что-то в html коде ослу не нравится.

вот так вызывается обычный тэг
 
<a href="javascript:;" onclick="BBCode(<?=$taid?>, 'a');">
<div
class="bb-a" title=" сделать ссылку ">a</div></a>


а так для смайлов


<?php for ($i=0; $i<count($smiles);$i++) { //выводим список категорий ?>

<a href="javascript:;" class="smiles" onclick="BBCode(<?=$taid?>, 'smile=<?=$smiles[$i]?>');clearInterval('SelectTimer');">
<
img class="smilesimages" src="../images/smiles/<?=$i?>.png"/></a>

<?php
} ?>


как только я не менял этот код, в итогу ужас

<?php for ($i=0; $i<count($smiles);$i++) { //выводим список категорий ?>

<a href="javascript:;" class="smiles" onclick="BBCode(<?=$taid?>, 'smile=<?=$smiles[$i]?>');clearInterval('SelectTimer');">
<
img class="smilesimages" src="../images/smiles/<?=$i?>.png"/></div></a>

<?php
} ?>


добавил после имг закрытый тэг </div> - и на тебе, теперь осел возвращает позицию курсора, только вот дизайн рушистя из-за этого. И этот див точно лишний - 100% никаких лишних тэгов на сайте нету и в других браузерах все блин отлично!

я прошу, намекните хотя бы как такое может быть, из-за чего вообще это возможно?




Спустя 5 часов, 13 минут, 26 секунд (16.09.2010 - 00:36) Guest написал(а):
в общем весь день мучался, так и не смог решить проблему, хотя узнал более подробную "причину". Смайлы выводятся в диве.(display:block, none). Вот если не делать в скрываемом диве, а поставить просто display:block то все работает.

Спустя 19 минут, 32 секунды (16.09.2010 - 00:56) Guest написал(а):
в общем, как я понял, когда нажимаю по бб-коду - открывающему див со смайлами, то в ие курсор пропадает из-за этого, поэтому и функуия не может найти его положение.

КАК СДЕЛАТЬ ТАК, ЧТОБЫ ИЕ КАК И ВСЕ БРАУЗЕРЫ ЗАПОМНИЛ ПОСЛЕДНЕЕ МЕСТОРАСПОЛОЖЕНИЕ КУРСОРА ?

Спустя 10 часов, 18 минут, 37 секунд (16.09.2010 - 11:14) inpost написал(а):
Открой конкурсы, там есть про ББ-декодер! Открывай любой и смотри как там смайлики добавляются

Спустя 6 минут, 7 секунд (16.09.2010 - 11:20) ZSH написал(а):
а зачем img в ссылку оборачивать?
прямо в img поставь onclick, ссылка то фокус получает мож потому и позиция теряется

Спустя 19 минут, 29 секунд (16.09.2010 - 11:40) Guest написал(а):
ZSH

он фокус теряет не из-за ссылки, тэги b u i тоже обернуты в ссылку, но работают, а теряет, когда кликаю в другое место, чтобы открыть окно со смайлами.
теперь думаю что делать, функцию что ли писать, которая бы запоминала где курсор находится, или что, не уверен пока.

а имг обернут - потому что иначе не получается расположить смайлы так как необходимо

inpost
сейчас посмотрю

Спустя 7 минут, 53 секунды (16.09.2010 - 11:48) Guest написал(а):
inpost
ты сам посмотри, кстати! там ни в одной работе нет вывода чего-то в отдельном диве, все смайлы также лежат как и тэги b u i прям на виду, и половина скриптов не работает на ie.

Спустя 4 минуты, 38 секунд (16.09.2010 - 11:52) inpost написал(а):
Моя работа №12, все прекрасно работает лишь по той части, что я только ИЕ и пользуюсь =)

Спустя 7 минут, 6 секунд (16.09.2010 - 11:59) Guest написал(а):
inpost
ну так ты видишь что у тебя смайлы не в отдельном окне, ты попробуй сделать "кнопочку" - нажимаешь - вызывается окно для смайлов, а там уже выбираешь!

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

Спустя 11 минут, 19 секунд (16.09.2010 - 12:11) Guest написал(а):
последняя просьба ребят!

вот текстариа - над ней открывается окно со смайлы(частично перекрывает текстариу), и если курсор оказывается за этим окном - то он просвечивает и оказывается как бы над окном, в ие! Как сделать, так, чтобы курсор оставался за окном - невидимым?
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.