Оповещение показывает два раза. как ограничить? - PullRequest
0 голосов
/ 17 мая 2010
<script language="Javascript">  

function test(myObject, flag)
{
if ( (flag) || ((event.keyCode == 59) || (event.which == 59)) || ((event.keyCode == 44) || (event.which == 44)))
{alert(myObject.value);}
}      
function closeWin()
{self.close();}      
</script>            

<form name='test'>          
<textarea  name='textareaName' cols='44' rows='3' onChange='test(this, true);' --onKeyPress='test(this);' onBlur='test(this, true);' ></textarea>                           
<input type='text' name='textName'>      
<input type='button' name='buttonName' onclick='closeWin();' value='Cancel'>
</form>

У меня проблема: при вводе значения (например, test;) в поле textareaName функция test всегда запускается более одного раза. Пожалуйста, покажи мне, как это можно сделать только один раз.

1 Ответ

1 голос
/ 17 мая 2010

Поскольку вы добавляете функцию test к onKeyPress (при каждом нажатии клавиши), onChange (при каждом изменении) и onBlur (при переходе в другое поле)

Он делает именно то, что вы сказали, вы должны удалить один из обработчиков событий.

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