Javascript 在Chrome中工作的字符检测;不在Firefox中工作

Javascript 在Chrome中工作的字符检测;不在Firefox中工作,javascript,firefox,google-chrome,Javascript,Firefox,Google Chrome,我需要阻止用户在我们的web脚本中输入冒号或管道,我使用了以下代码: } function colonFilter(evt) { var e = event || evt; var charCode = e.which || e.keyCode; if (charCode == 58 || charCode == 124) return false; return true; } 它在Chrome中运行良好,但是,当我在Firefox中访问该站点时,它不起作用。

我需要阻止用户在我们的web脚本中输入冒号或管道,我使用了以下代码:

}
function colonFilter(evt)
{
  var e = event || evt; 
    var charCode = e.which || e.keyCode;

  if (charCode == 58 || charCode == 124)
  return false;

  return true;

}

它在Chrome中运行良好,但是,当我在Firefox中访问该站点时,它不起作用。我做错了什么?

您没有将事件对象传递给函数。Chrome模仿Internet Explorer并维持全球活动;Firefox没有

<input name="description" type="text" onkeypress="return colonFilter(event);" size="60" maxlength="255" value="">

这在所有浏览器中都适用。

我不知道这到底意味着什么。当我使用chrome时,它会阻止输入,但Firefox仍然允许我输入冒号或管道。你在浏览器控制台中看到错误了吗?你检查过Firefox中的charCode是什么吗?使用console.logcharCode。哦,还有,这个函数是如何调用的?