Автор Тема: Как сделать что-то вроде innerHTML для ячейки таблицы  (Прочитано 2916 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Viktor (Megai

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 16
  • +0/-0
  • 0
    • Просмотр профиля
На сколько я знаю - конструкции с innerHTML outerHTML innerText outerText не работают, когда рпименять их либо к строкам, либо к ячейкам таблицы, так вот - отсюда возникает вопрос - как можно проделать этокую операцию


И еще вопросик:
Допустим есть таблица 4х4, нужно, чтоб при событии onclick в массив[0] заносился идентфикатор ячейки таблицы, а далее по событию onmuusemove - все последующие ячейки, над которыми проходила мышь, данная вещь нужна для создания простейшего редактора таблиц, т.е. протащив эту ячейку мы устанавливаем, над сколькии ячейками прошла мышь и пстроив путь выставляем в первой ячейке rowspan и colspan в соответствие с количеством ячеек, а далее удаляем ячейки в соответствии с массивом. Таким образом я собираюсь получить операцию MargeCell, и соответственно затем сделать функцию SplitCell

Если есть уже готовый скрипт, то  буду признателен за помощь...

Оффлайн Nickii

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 218
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.srccode.spb.ru
Ну приехали. Что у тебя там не работает?

 
 
Бред

 
 
 var obj=document.getElementById("td1"),
      obj.innerHTML = "некоторый текст";

Что тут может не работать? Используется только свойство innerHTML, все остальное хлам, который присутствует только в IE

По поводу обработки событий


 установи в конце HTML документа обработчики событий

onmouseover = eventHandler;
onmouseout = eventHandler;

function eventHandler(e)
{
 if(!e) e = event;

 //Ну а дальше обрабатываешь событие e
 например:
 е.type - тип произошедшего события
 e.srcElement - объект на котором произошло событие (точно не помню)

 /*смотреть свойства объекта умеешь? Посмотри! Там много чего интересного*/

 //далее ты должен проверить что событие произошло над ячейкой таблицы
 if(e.type=="mouseover" && e.srcElement.nodeName=="TD")
  обработка.

/* но такой проверки недостаточно так как в MZ в нутри ячейки есть Node с именем text.(или что-то в этом роде)*/

//поэтому правильная проверка такая
 if(e.type=="mouseover" && (e.srcElement.nodeName=="TD" || (e.srcElement.nodeName=="TEXT" && e.srcElement.parentNode.nodeName == "TD"))

/* или что-то в этом роде. Приложи мозги. Тут все прозрачно */
}


Если что не понятно спрашивай.

Кстати есть еще целая куча способов установки обработчика событий, например на каждую ячейку в отдельности, тогда и функция обработки будет проще.

Оффлайн гоша

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 85
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
> так как в MZ в нутри ячейки есть Node с именем text

очень смешно...

Viktor (Megai

всего навалом:
http://www.google.com/search?q=wysiwyg+editor+javascript

Оффлайн Nickii

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 218
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.srccode.spb.ru
Цитировать
гоша:
очень смешно...


Поясни.

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28