<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字段时,测试函数总是运行一次。请告诉我这种方式只能运行一次。
答案 0 :(得分:1)
因为您要将test
功能添加到onKeyPress
(所以每次按键),onChange
(所以每次更改时)和onBlur
(每当您移动时)到另一个领域)
它完全按照你的要求去做,你应该删除其中一个事件处理程序。