作者TKirby ( ^-^)
看板Web_Design
标题Re: Mozilla 是不是不支援javascript中event.keyC …
时间Tue Dec 28 19:27:04 2004
※ 引述《ificould (不求品质只求度过难关..)》之铭言:
: ※ 引述《TKirby ( ^-^)》之铭言:
: : 推 ificould:参考了 也试了很久了 还是没效果 >"< 61.62.165.171 12/28
: : 怎麽会没用勒??
: : 可能问题出在javascript以外的地方
: : 你到这个网址看看
: : http://www.csie.ntu.edu.tw/~b88039/archive/testCol/javascript/event/
: : 随便按些键,
: : 看看有没有类似网页右边范例输出的结果
: 贴上我的档案好了...
: function ChkKey(e) {
: var eve = (e?e:event);
: var code = (eve.charCode?eve.charCode:eve.keyCode);
: if (code > 95 || code < 106) {
: alert("只能输入数字键");
: return false;
: }
: }
: 我的js 是用外部载入的...
: 下面这行是HTML表单内的输入栏位
: 编号:<input type="text" name="no" onkeypress="return ChkKey()" />
^^^^^^^^^^^^^^^
这样就不对了, 你以无参数的方式呼叫 ChkKey() 但是 ChkKey需要一个参数 e
改成 onkeypress="return ChkKey(event);" 试试看
如果再不行的话,就学我给的那个网址里面的方式用javascript设handler
而不要写在html里面
很多人都缺乏一个观念,
写在 onkeypress 里面的东西其实是anonymous function
也就是说其实 当这个 text input 有东西输入的时候,会执行的函式其实是这个
function _没有名字_(event) { /* 不同浏览器会不一样 */
return ChkKey();
}
如果用javascript指定,像是 form1.no.onkeypress = ChkKey;
这样当有东西输入的时候执行的函式才真正是 ChkKey
大家可以试着做个实验,把 onkeypress 里的值印出来
例如 alert(form1.no.onkeypress);
在IE会是 function anonymous(){return ChkKey()}
Firefox 则是function onkeypress(event) { return ChkKey(); }
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.30.67
※ 编辑: TKirby 来自: 140.112.30.67 (12/28 19:28)
1F:推 ificould:加上event 可以了耶.. 谢谢你喔 (茶) 61.62.28.226 12/29