Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Всплывающая палитра цветов для текста (визуальный редактор)
Форумы портала PHP.SU » Клиентская разработка » JavaScript & VBScript » Всплывающая палитра цветов для текста (визуальный редактор)

Страниц (1): [1]
 

1. rar - 28 Марта, 2008 - 22:03:58 - перейти к сообщению
Ребята, привет.
Сейчас делаю свой визуальный редактор. Но вот одна загвоздка, смотрю на коды разных визуальных редакторов и не пойму как они там сделали так что бы выпадала палитра цветов для текста. там картинке-кнопке присвоен только ID, и никаких onmouseover и onclick не стоит! я вот не пойму как так они делают? Если у вас есть какие-нибудь примеры, поделитесь пожалуйста.
2. valenok - 28 Марта, 2008 - 22:29:22 - перейти к сообщению
А не ставить onmouseover это у вас принципиально, или просто интересно узнать как делают они?

Там стоит одна функция обработки на все события eventы документа.
В том числе и на нажатия. При нажатии проверяется на на каком жлемента произошло нажатие и в соответствии чтото происходит.

Выглядит оно примерно так:

PHP:
скопировать код в буфер обмена
  1.  
  2. function preview(e)
  3. {
  4.         if (!e) e = window.event;
  5.         var elem = e.target || e.srcElement;
  6.  
  7.         if(elem.id.match(/someID/i)) doIt();
  8. }
  9.  
  10. document.onclick = preview;
  11.  
3. rar - 28 Марта, 2008 - 22:58:42 - перейти к сообщению
Скорее хочу тоже научиться так делать.

А не могли бы вы немного прокомментировать код, а то я не много не понимаю что там происходит. Если вам не сложно.
Или если есть какая-нибудь ссылка где можно почитать про это.
4. valenok - 29 Марта, 2008 - 10:20:22 - перейти к сообщению
goole -> javascript window.event
goole -> javascript e.target
goole -> javascript e.srcElement
goole -> javascript match
goole -> javascript document.onclick
lingvo.yandex.ru


PHP:
скопировать код в буфер обмена
  1.  
  2. function preview(e)
  3. {
  4.     if (!e) e = window.event;
  5. // Если браузер не подставил сам информацию о событии которое произошло в переменную
  6. // Это сделаем мы.
  7.  
  8.     var elem = e.target || e.srcElement;
  9.   // Определяем по объект на странице, относительно которого произошло событие
  10.   //  Предположим что нажали на картинку. Тогда элемент на который нажали
  11.   // определиться как [image Object]
  12.  
  13.     if(elem.id.match(/someID/i)) doIt();
  14.    // Теперь проверяем при помощи регулярного выражения
  15.    // соответсвует ли id элемента по которому произошло нажатие строке someid
  16.    // И если у той картинки по которой нажали - id = someID то запускаем фцию - doIt()
  17.  
  18. }
  19.  
  20. document.onclick = preview;
  21. //присваиваем объекту document событие onclick
  22. // тоесть при клике на документ будет выполняться фция preview
  23.  
5. rar - 30 Марта, 2008 - 07:58:57 - перейти к сообщению
Спасибо, конечно, большое.
Но все-таки есть ли какие -нибудь стать на тему создания хороших визуальных редакторов, только доходчивых, что бы каждый код комментировался.
6. valenok - 30 Марта, 2008 - 17:03:28 - перейти к сообщению
Я не видел. Если напишете хорошую статью, я попрошу чтоб её разместили на нескольких сайтах.

 

Powered by ExBB FM 1.0 RC1