Появилась необходимость определять, когда человек вставляет текст в текстовое поле. По сути - событие onPaste, срабатывает непосредственно перед вставкой текста. Но не работает в Опере. Находил ли кто-нибудь аналоги для оперы? Требуется именно отследить вставленный текст.
R0nin, нет. onChange сработает только при потере фокуса. keyDown тоже не подойдёт, т.к. вставку можно осуществить через "вставить" в контекстном меню.
Isis, отследить ctrl+v и shift+ins можно и меньшим кодом. Тем не менее, проблему вставки из контекстного меню это не решит.
Вот, пожалуйста. Проверено, работает и не только в Opera PHP: var LastState; function gCheck() { e = document.getElementById('t'); if (e) { if (e.value.length > 0 && LastState != e.value) { alert("Произошло изминение:" + e.value + " Размер текста:" + e.value.length); LastState = e.value; } else { if (e.value.length == 0 && LastState != e.value) { LastState = 0; } } } setTimeout("gCheck()", 1000); } Использовать так: PHP: <input type="text" onFocus="gCheck()" id="t"> При каждом изменении состояния текстого поля с ID t выполнится следующий код: PHP: alert("Произошло изминение:" + e.value + " Размер текста:" + e.value.length); LastState = e.value;
R0nin, благодарю за внимание к проблеме. Тем не менее, этот вариант рассматривался при первых попытках реализации нужного алгоритма. И отмёлся очень быстро по ряду причин: - память. Т.к. использоваться это должно в wysiwyg, память будет довольно быстро кушаться. - Интервал. Изменения должны отлавливаться "на лету", т.е. при вставке срабатывает парсер, чистящий код от мусора. Интервал придётся уменьшать - память будет кушаться ещё быстрее. - это всё же костыль. Я надеялся найти хоть немного похожий на onPaste обработчик, который умеет и callback запускать. Поиски ни к чему не привели. ps: расковырял tinyMCE - там есть подобный парсер, в аналогичных условиях также не срабатывает (в опере при вставке из контекстного меню). Видимо, придётся оставить так до тех пор, пока разрабы в опере образумятся. pps: кстати, R0nin, если уж использовать подобный подход (отслеживать изменения) - есть событие input . Возникает при любом изменении текста. Но изменение текста может происходить и простым вводом с клавиатуры. И вставкой изображений, таблиц и прочих объектов.
Чтобы видео затемнялось или чтоб страница затемнилось? Для этого создается еще один слой, настраивается z-index. Z-index темного слоя должен быть выше чем то что хотите скрыть, и ниже чем то что должно изображаться. Ответ не однозначный - добавить нужно как JS так и CSS.
Так слой есть, а не затемняется только видео как здесь закрыта менюшка и по краям вместо белого сделан темный цвет по краям?( точнее как вставить код :body { background-color:#6F605A; font-family:Arial, Helvetica, sans-serif; padding:0; font-size:12px; margin:0px auto auto auto; color:#000000; } из стайла в js. Я пробовал в контент после оверфловхиден пихать, не работает. подскажите плс. Все сделал, но меню и цвета по бокам не получается http://poiskpolovinkiyeah.sytes.net/ Спасибо
Разбираю сейчас 1 цмс, помогите понять, что делает этот скрипт, зачем вообще он? Яваскрипт не знаю, но знаю хтмл/пхп. Code: function checkthisusers(obj) { var check = document.getElementsByName("thisis[]"); for (var i=0; i<check.length; i++) { check[i].checked = obj.checked; } } В хтмл коде страницы есть список юзеров, слева от списка идут чекбоксы с именем thisis[]. Можно редактировать и удалять юзеров. Все ясно, неясно только что делает этот яваскрипт. Меняет статус чекбокса на чекед? А почему нельзя это сделать без яваскрипта, простым хтмл?
Меняет статус списка чекбоксов в зависимости от параметра obj, который свою очередь тоже является чекбоксом. Он меняет статус не одного чекбокса, а целого списка, а это в HTML динамически не сделаешь.
Есть список юзеров, при наведении на одного из них его фон должен подсвечиваться а при отводе соответсвенно гаснуть (становиться опять белым) исключение составляют пользователи которые выделены щелчком мышки(mark_user()) они не должны подсвечиваться при наведении на них. содержимое <div id='users'> обновляеться посредством Ajax и подсвеченные(user_list()) и выделеные (mark_user()) пользователи должны сохранять свое выделение. Пока это все работает крайне криво... в Chrome сразу подсвечиваеться 0 элемент списка (в других браузерах более более менее нормально) вообщем если кто понял как это работает) подправьте код плиз!! Интересует именно реализовать это на js! вот список функций: <div id="users"> <div id="0" onclick="mark_user(0);" onmouseover="user_list(0)" onmouseout="user_list(0)">user1</div> <div id="1" onclick="mark_user(1);" onmouseover="user_list(1)" onmouseout="user_list(1)">user2</div> <div id="2" onclick="mark_user(2);" onmouseover="user_list(2)" onmouseout="user_list(2)">user3</div> <div id="3" onclick="mark_user(3);" onmouseover="user_list(3)" onmouseout="user_list(3)">user4</div> </div> var ubc, prev, id_user_color, user_hover=0; function UpdateDataUsers() { if(xmlHttp2.readyState == 4){ if(xmlHttp2.status == 200){ document.getElementById('users').innerHTML=xmlHttp2.responseText; if(document.getElementById(ubc) != undefined) document.getElementById(ubc).style.backgroundColor='#f4c430'; if(document.getElementById(id_user_color) != undefined) document.getElementById(id_user_color).style.backgroundColor='#ccffff'; return; } } } function mark_user(id) { if(document.getElementById(id).style.backgroundColor == '#ccffff' || document.getElementById(id).style.backgroundColor == 'rgb(204, 255, 255)') { document.getElementById(id).style.backgroundColor='#f4c430'; if(navigator.appName == "Microsoft Internet Explorer") document.chat.private.value=document.getElementById(id).innerText; else document.chat.private.value=document.getElementById(id).textContent; if(ubc == id) return; } if(document.getElementById(ubc) != undefined) { if(ubc == id) { document.getElementById(id).style.backgroundColor='#ccffff'; document.chat.private.value=''; ubc=''; } if(document.getElementById(ubc).style.backgroundColor == '#f4c430' || document.getElementById(ubc).style.backgroundColor == 'rgb(244, 196, 48)') document.getElementById(ubc).style.backgroundColor='#ffffff'; } ubc=id; } function user_list(id) { if(document.getElementById(id).style.backgroundColor == '#ffffff' || document.getElementById(id).style.backgroundColor == 'rgb(255, 255, 255)' || !document.getElementById(id).style.backgroundColor) { document.getElementById(id).style.backgroundColor='#ccffff'; if(document.getElementById(id_user_color).style.backgroundColor == '#ccffff' || document.getElementById(id_user_color).style.backgroundColor == 'rgb(204, 255, 255)') document.getElementById(id_user_color).style.backgroundColor='#ffffff'; id_user_color=id; if(document.getElementById(user_hover).style.backgroundColor == '#ccffff' || document.getElementById(user_hover).style.backgroundColor == 'rgb(204, 255, 255)') { document.getElementById(user_hover).style.backgroundColor='#ffffff'; id_user_color=''; } user_hover=id; } if(document.getElementById(id).style.backgroundColor == '#ccffff' || document.getElementById(id).style.backgroundColor == 'rgb(204, 255, 255)' || !document.getElementById(id).style.backgroundColor) { document.getElementById(id).style.backgroundColor='#ffffff'; if(document.getElementById(user_hover).style.backgroundColor == '#ffffff' || document.getElementById(user_hover).style.backgroundColor == 'rgb(255, 255, 255)') document.getElementById(user_hover).style.backgroundColor='#ccffff'; user_hover=''; } }
Подскажите, может есть готовая функция на яваскрипт или хотя бы в какую сторону копать? Есть таблица с разной инфой. Там функция, которая выделяет весь список. Мне надо, чтобы по нажатию кнопки яваскрипт создал таблицу и вывел на экране только данные из столбца PHONE. Реально ли такое сделать, если да - в какую сторону копать? Т.е. я выделаю записи, нажимаю кнопку - и на странице остаются только значения из столбца PHONE выделенных записей Код тут http://paste.org.ru/?5xr899
http://stackoverflow.com/questions/455958/hide-show-column-in-an-html-table tester_new, http://jqueryui.com/demos/selectable/#default
помогите со скриптом, нужно в хтмл страничку вставить ява скрипт или хтмл код, что бы фрэймились браузеры лиса , ишак, опера. заранее спасибо