<script language="JavaScript">
function OnKeyUp(_e) // 释放按键事件处理程序
{
var e = _e?_e:window.event; // 获取有效的事件对象 ,?:是二元运算符,等价于 || 运算符
if( event.keyCode == 13 ) // 按下的是否是回车键
{
alert( "您输入的内容是:"+Text1.value ); // 将文本框中的内容显示在消息框中
}
}
</script>
<input id="Text1" type="text" onkeyup="OnKeyUp()">
这里的var e = _e?_e:window.event; // 获取有效的事件对象,这一句,是不是有没有都可以,我把这一名删除了,效果还是一样的,如果有用的话这一句是什么作用呢???
这句话的目的是照顾到浏览器的兼容性,不同的浏览器解释js代码的方式不同,这句话将触发的事件对象赋予e这个变量,在ie中事件对象定义为window.event,
而在其他一些浏览器,该对象需要作为参数传入,即_e,传入的时候传event,见下面的代码。
你去掉这句话在ie下依然可以的原因是 event == window.event,所有对象都是window对象的属性,所以加不加window浏览器都能认出来。
但是这段代码放到firefox下就无法正常执行。 并且你的代码写的也有问题,判断按下的是否回车键那句应当使用e这个变量而不是event,
正确的应该是:
<script language="JavaScript">
function OnKeyUp(_e) // 释放按键事件处理程序
{ var e = _e?_e:window.event; // 获取有效的事件对象 if( e.keyCode == 13 ) // 按下的是否是回车键
{ alert( "您输入的内容是:"+document.getElementByIdx('Text1').value ); } }
</script>
<input id="Text1" type="text" onkeyup="OnKeyUp(event)">