1.通常我们开发时,要满足敲回车就把焦点跳到下一个,而碰到textarea时,回车又要满足换行,而移出焦点又要重新生效。这样的问题我通常就是用如下解决方法。
function nextFocus()
{
if (event.keyCode ==13 && document.activeElement.tagName.toLowerCase()!='textarea')
{
event.keyCode = 9
}
}
2.有些时候我们还要指定特定的textarea有效和无效的问题,具体处理如下:
<body>
<script language="JavaScript">
function disablefun()
{
window.myfun = null;
}
function enablefun()
{
window.myfun = function()
{
showid.innerHTML += "i'm active<br>";
};
}
function myfun()
{
showid.innerHTML += "i'm active<br>";
}
</script>
<form method="get" name=search id=search target="_blank">
每次键入内容均触发myfun函数<br>
<textarea name="txa" rows="5" cols="20" onkeydown="if(myfun)myfun()"></textarea>
<hr>
<br>
每次按键均不触发myfun函数(聚焦时失效,失焦时有效)<br>
<textarea name="txa" rows="5" cols="20" onfocus="disablefun()" onblur="enablefun()" onkeydown="if(myfun)myfun()"></textarea>
</form>
<div id=showid>
</div>
</body>