JavaScripter's, need your help!
-
- Уже с Приветом
- Posts: 1491
- Joined: 02 Jul 2003 22:47
JavaScripter's, need your help!
Я в джаваскрипте новичек, может более опытные товарщи подскажут, как заблокировать курсорные клавиши, и backspace в TextArea? А так же возможно ли блокирование перемещения курсора мышкой в textarea? Или же перемещение его в конец текста.
Спасибо!
Спасибо!
-
- Уже с Приветом
- Posts: 5347
- Joined: 03 Feb 1999 10:01
- Location: NJ, USA
-
- Уже с Приветом
- Posts: 1491
- Joined: 02 Jul 2003 22:47
KVA wrote:Смотрите в сторону events в java script:
onkeydown
onkeyup
onmousedown
etc.
IMHO все что вы хотите возмоно сделать. Вопрос зачем? Особенно с мышкой непонятно. Может TEXTAREA сделать readonly и ничего не будет редактировться?
В моем проекте мне нужно, чтобы пользователь мог вводить, но не
мог редактировать текст. Я пользуюсь onkeypress, но после моего
обработчика события идет обработчик события браузера.
Можно ли в javascript перекрыть обработчик события полностью? -
это идеально решило бы мою проблему.
-
- Уже с Приветом
- Posts: 2013
- Joined: 16 Mar 2002 10:01
- Location: New York City
В моем проекте мне нужно, чтобы пользователь мог вводить, но не
мог редактировать текст.
У меня тоже один раз встала такая задача. Я обошелся проще. Создал два текстовых окна. Одно основное, в котором находится текст, который нельзя редактировать (read only проще говоря), второе окно вспомогательное, куда пользователь может вводить все что угодно. После нажатися на клавишу Save, то что он ввел во втором окне добавляется в первое, которое уже не подлежит редактированию.
не знаю подходит ли Вам такое
-
- Уже с Приветом
- Posts: 1491
- Joined: 02 Jul 2003 22:47
uniqueman wrote:В моем проекте мне нужно, чтобы пользователь мог вводить, но не
мог редактировать текст.
У меня тоже один раз встала такая задача. Я обошелся проще. Создал два текстовых окна. Одно основное, в котором находится текст, который нельзя редактировать (read only проще говоря), второе окно вспомогательное, куда пользователь может вводить все что угодно. После нажатися на клавишу Save, то что он ввел во втором окне добавляется в первое, которое уже не подлежит редактированию.
не знаю подходит ли Вам такое
К сожалению, мне такое решение не подходит
-
- Уже с Приветом
- Posts: 5347
- Joined: 03 Feb 1999 10:01
- Location: NJ, USA
Angry wrote: В моем проекте мне нужно, чтобы пользователь мог вводить, но не
мог редактировать текст. Я пользуюсь onkeypress, но после моего
обработчика события идет обработчик события браузера.
Можно ли в javascript перекрыть обработчик события полностью? -
это идеально решило бы мою проблему.
Вообще-то вроде можно. Смотришь что пришло от пользователя и если backspace или еще что-то нежелательно - cancel event. Посмотри returnValue property для event.
-
- Уже с Приветом
- Posts: 2013
- Joined: 16 Mar 2002 10:01
- Location: New York City
Angry wrote:uniqueman wrote:В моем проекте мне нужно, чтобы пользователь мог вводить, но не
мог редактировать текст.
У меня тоже один раз встала такая задача. Я обошелся проще. Создал два текстовых окна. Одно основное, в котором находится текст, который нельзя редактировать (read only проще говоря), второе окно вспомогательное, куда пользователь может вводить все что угодно. После нажатися на клавишу Save, то что он ввел во втором окне добавляется в первое, которое уже не подлежит редактированию.
не знаю подходит ли Вам такое
К сожалению, мне такое решение не подходит
а если пользователь при вводе случайно ошибся и ему надо затереть то что он ввел и ввести другое, то как вы в этом случае обойдетесь?
-
- Уже с Приветом
- Posts: 1491
- Joined: 02 Jul 2003 22:47
KVA wrote:Angry wrote: В моем проекте мне нужно, чтобы пользователь мог вводить, но не
мог редактировать текст. Я пользуюсь onkeypress, но после моего
обработчика события идет обработчик события браузера.
Можно ли в javascript перекрыть обработчик события полностью? -
это идеально решило бы мою проблему.
Вообще-то вроде можно. Смотришь что пришло от пользователя и если backspace или еще что-то нежелательно - cancel event. Посмотри returnValue property для event.
Этот cancel event мне и нужен! Как же его сделать?
-
- Уже с Приветом
- Posts: 1491
- Joined: 02 Jul 2003 22:47
uniqueman wrote:Angry wrote:uniqueman wrote:В моем проекте мне нужно, чтобы пользователь мог вводить, но не
мог редактировать текст.
У меня тоже один раз встала такая задача. Я обошелся проще. Создал два текстовых окна. Одно основное, в котором находится текст, который нельзя редактировать (read only проще говоря), второе окно вспомогательное, куда пользователь может вводить все что угодно. После нажатися на клавишу Save, то что он ввел во втором окне добавляется в первое, которое уже не подлежит редактированию.
не знаю подходит ли Вам такое
К сожалению, мне такое решение не подходит
а если пользователь при вводе случайно ошибся и ему надо затереть то что он ввел и ввести другое, то как вы в этом случае обойдетесь?
В том-то и дело что по постановке задачи ему запрещено затирать
-
- Уже с Приветом
- Posts: 5347
- Joined: 03 Feb 1999 10:01
- Location: NJ, USA
-
- Posts: 10
- Joined: 09 Mar 2002 10:01
- Location: Ukraine
Re: JavaScripter's, need your help!
-deleted-
Last edited by Krivonos on 29 Aug 2003 09:25, edited 1 time in total.
-
- Posts: 10
- Joined: 09 Mar 2002 10:01
- Location: Ukraine
Re: JavaScripter's, need your help!
Вот функция-обработчик события OnKeypress:
function OnKeypress()
{
if (/*нажата нужная клавиша*/)
{
}
else
{
event.returnValue=false;
}
}
Кстати, форму курсора тоже можно менять.
function OnKeypress()
{
if (/*нажата нужная клавиша*/)
{
}
else
{
event.returnValue=false;
}
}
Кстати, форму курсора тоже можно менять.
-
- Уже с Приветом
- Posts: 1491
- Joined: 02 Jul 2003 22:47
Re: JavaScripter's, need your help!
Krivonos wrote:Вот функция-обработчик события OnKeypress:
function OnKeypress()
{
if (/*нажата нужная клавиша*/)
{
}
else
{
event.returnValue=false;
}
}
Кстати, форму курсора тоже можно менять.
Ну, да - теоретически должно работать, но практически эксплорер не реагирует на backspace куак на keypress (только как на keydown). Но даже если в keydown прописать event.returnValue=false; в textarea буква всеравно введется. Тоже самое и для onclick и onmousedown - хоть event.returnValue=false; поставил, курсор на щелчек перемещается
ладно, выйду из положения через readonly.
-
- Уже с Приветом
- Posts: 5347
- Joined: 03 Feb 1999 10:01
- Location: NJ, USA
Из MSDN:
As of Microsoft® Internet Explorer 4.0, the onkeypress event fires and can be canceled for the following keys:
Letters: A - Z (uppercase and lowercase)
Numerals: 0 - 9
Symbols: ! @ # $ % ^ & * ( ) _ - + = < [ ] { } , . / ? \ | ' ` " ~
System: ESC, SPACEBAR, ENTER
Теперь понятно почему backspace не работает?
As of Microsoft® Internet Explorer 4.0, the onkeypress event fires and can be canceled for the following keys:
Letters: A - Z (uppercase and lowercase)
Numerals: 0 - 9
Symbols: ! @ # $ % ^ & * ( ) _ - + = < [ ] { } , . / ? \ | ' ` " ~
System: ESC, SPACEBAR, ENTER
Теперь понятно почему backspace не работает?
-
- Уже с Приветом
- Posts: 1491
- Joined: 02 Jul 2003 22:47
KVA wrote:Из MSDN:
As of Microsoft® Internet Explorer 4.0, the onkeypress event fires and can be canceled for the following keys:
Letters: A - Z (uppercase and lowercase)
Numerals: 0 - 9
Symbols: ! @ # $ % ^ & * ( ) _ - + = < [ ] { } , . / ? \ | ' ` " ~
System: ESC, SPACEBAR, ENTER
Теперь понятно почему backspace не работает?
Да это я понял, но решение же все равно искать надо
-
- Уже с Приветом
- Posts: 5347
- Joined: 03 Feb 1999 10:01
- Location: NJ, USA
-
- Уже с Приветом
- Posts: 1491
- Joined: 02 Jul 2003 22:47