function checkEnter(event) {
var charcode;
if (event && event.which) {
charcode = event.which;
alert("Case 1. event.which is " + charcode);
}
else if (event && !event.which) {
charcode = event.keyCode;
alert("Case 2. event.keyCode is " + charcode);
}
document.getElementById("text1").value="";
}
<input type="text" id="text1" onkeyup="checkEnter(event)" />
上述功能适用于IE7和Chrome。
function checkKeyPressed() {
document.onkeydown = function(event) {
var charcode;
if (event && event.which) {
charcode = event.which;
alert("charcode is " + charcode);
}
else if (event && !event.which) {
charcode = event.keyCode;
alert("charcode (keyCode) is " + charcode);
}
}
}
<input type="button" id="button1" onclick="checkKeyPressed(event)" value="Button" />
但是这只适用于Chrome。知道为什么吗?
答案 0 :(得分:1)
您可以通过简单地检查参数是否未定义来组合这两者。
function MyOnClick(oEvent)
{
if (typeof(oEvent) == "undefined")
oEvent = event;
// continue with your code
}
这适用于firefox,chrome,IE等。
答案 1 :(得分:0)
好的问题解决了。显然,你所要做的就是从onkeydown()中删除“event”参数。我认为那是因为IE不像Chrome那样读取javascript,因此无法正常工作,因为没有传递参数。 =。=