javascript动态添加'onkeypress'事件


<script language="javascript" type="text/javascript">
function srchtxtAddOnKeyPress()
{
if(window.addEventListener)
{
//其它浏览器的事件代码: Mozilla, Netscape, Firefox
//添加的事件的顺序即执行顺序 //注意用 addEventListener 添加带on的事件,不用加on
document.getElementById('srchtxt').addEventListener('keypress', keyPressEvt, false);
}
else
{
//IE 的事件代码 在原先事件上添加 add 方法
document.getElementById('srchtxt').attachEvent('onkeypress',keyPressEvt);
}
}
function keyPressEvt()
{
if(event.keyCode==13)
{
alert(
'您按了回车键');
}
};
window.load
=srchtxtAddOnKeyPress();
</script>

<input type="text" id="srchtxt" />

如上代码,
window.load=srchtxtAddOnKeyPress() 等同于 body的onload()事件。
一般我们将js放置在页面的 head 部分。
但,在这里,如果放在head部分肯定出错。
因为页面会先加载js,然后再加载<input type="text" id="srchtxt" />
这样,在运行的时候,就会出错。提示找不到  srchtxt 对象。
为了解决此问题,我们只需要将这段代码加到页面底部即可。
也就是说只要放置在 <input type="text" id="srchtxt" /> 之后,就可以顺利运行。

posted on 2008-11-14 13:01  asp114  阅读(1147)  评论(0编辑  收藏  举报

导航