Forum Webscript.Ru
Программирование => JavaScript & JScript => Тема начата: Viktor (Megai от 26 Января 2004, 03:07:45
-
На сколько я знаю - конструкции с innerHTML outerHTML innerText outerText не работают, когда рпименять их либо к строкам, либо к ячейкам таблицы, так вот - отсюда возникает вопрос - как можно проделать этокую операцию
И еще вопросик:
Допустим есть таблица 4х4, нужно, чтоб при событии onclick в массив[0] заносился идентфикатор ячейки таблицы, а далее по событию onmuusemove - все последующие ячейки, над которыми проходила мышь, данная вещь нужна для создания простейшего редактора таблиц, т.е. протащив эту ячейку мы устанавливаем, над сколькии ячейками прошла мышь и пстроив путь выставляем в первой ячейке rowspan и colspan в соответствие с количеством ячеек, а далее удаляем ячейки в соответствии с массивом. Таким образом я собираюсь получить операцию MargeCell, и соответственно затем сделать функцию SplitCell
Если есть уже готовый скрипт, то буду признателен за помощь...
-
Ну приехали. Что у тебя там не работает?
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"))
/* или что-то в этом роде. Приложи мозги. Тут все прозрачно */
}
Если что не понятно спрашивай.
Кстати есть еще целая куча способов установки обработчика событий, например на каждую ячейку в отдельности, тогда и функция обработки будет проще.
-
> так как в MZ в нутри ячейки есть Node с именем text
очень смешно...
Viktor (Megai
всего навалом:
http://www.google.com/search?q=wysiwyg+editor+javascript
-
гоша:
очень смешно...
Поясни.