onKeyUp
事件在 IE(7) 中有效,在 Firefox(4.0.1) 中无效。
我有一个带有属性 onclick="eventName();"
的文本框
在 Javascript 函数 eventName(evt)
中。我没有事件数据,事件数据不是由 Firefox 发送的。另一方面,在 IE 中,window.event
已填充,所以在这里可以正常工作...
IE和Firefox都能达到这个功能。唯一的问题是我需要那里的事件数据。 谁能指导我解决这个烦人的问题?
示例页面:
<html>
<head>
<script type="text/javascript">
function upperCase(evt) {
if (evt) {
var target = evt.target;
target.value = target.value.toUpperCase();
} else if (window.event) {
var target = window.event.srcElement;
target.value = target.value.toUpperCase();
} else alert('No event information');
}
</script>
</head>
<body>
<span>Enter your name: </span>
<input type="text" id="fname" onkeyup="upperCase()" />
</body>
</html>
最佳答案
IE 用一个全局的来处理事件。事件作为函数的第一个参数传递的所有其他内容。
onkeyup="upperCase()"
你不会在那里做任何事情。我什至不确定你能做到——除了多年来最微不足道的玩具,我没有触及任何东西的内在事件属性。
给定
document.getElementById('fname').keyup = upperCase;
(或者,更好的是,使用 attachEvent/addEvent,将填充 evt
变量。)
关于javascript - Firefox:HTML keyUp 事件没有事件数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6275217/