新手刚刚接触js 麻烦大神给看看这段代码怎么了
下面的这一段代码中为什么用匿名函数的方式就能实现 而定义一个函数后再给添加onkeypress事件就会出现“尚未实现”错误呢。
小弟刚刚开始学习js,思考一上午,实在想不通 求大神解救!
//给每一个input添加输入格式监听
var userName = regForm.userName;
/*userName.onkeypress=function(){
if(!/^\w{2,16}$/.test(userName.value)){
userName.warningNode.style.display="inline";
userName.noticeNode.style.display="inline";
userName.focus();
return;
}else{
userName.warningNode.style.display="none";
userName.noticeNode.style.display="none";
}
}*/
userName.onkeypress=checkFormat(!/^\w{2,16}$/.test(userName.value),userName);
}
//检测输入的格式是否正确
function checkFormat(b,tagName){
if(b){
tagName.warningNode.style.display="inline";
tagName.noticeNode.style.display="inline";
tagName.focus();
return;
}else{
tagName.warningNode.style.display="none";
tagName.noticeNode.style.display="none";
}
}
------解决方案--------------------userName.onkeypress = alert('kk');
userName.onkeypress = function(){alert('kk')};
你自己分别试下2者的区别 就明白了
------解决方案--------------------function fn(){
}
userName.onkeypress = fn;
userName.onkeypress = fn();
------解决方案--------------------
只要最终结果是按我的需求跑的 那么就是对的
所以怎么解决问题 就是让他按你的意愿走
如果没按照你的意愿走 那么就是有问题
如果按照你的意愿就 还有问题 那么重新整理下需求
反复之后 必定是正确的结果