我目前正在研究jQuery功能,检查文本框中是否存在某些字符值,然后根据字符的大小来触发某些事件。
我认为最简单的处理方法是检查密码。我尝试了一些不同的事情来使事件触发,但似乎没有任何事情发生。
我要检查的其中一件事是文本框是否包含@
字符(特定文本框中不允许使用该字符,根据此网站,其密钥代码为64 - expandinghead)< / p>
我试图使用的一些代码:
$("#NoEmailAllowed").live({
"keyup": function(e) {
if((e.keyCode == 64) || (e.which == 64))
{
$(this).addClass("redBg");
}
}
});
$("#NoEmailAllowed:contains('@')").live({
"keyup": function() {
$(this).addClass("redBg");
}
});
$("#NoEmailAllowed").keyup(function(){
if(this.val().contains("@"))
{
$(this).addClass("redBg");
}
});
我也尝试了很多其他的,但他们很安静,类似于上面那些。
所以只是为了清楚地说明我想要实现的目标是:
当用户在此文本框中输入内容时,jquery将动态检查任何@
个字符,如果找到任何@
个字符,则触发事件 - 例如警报或添加css类。
答案 0 :(得分:3)
keyup()
事件使用扫描码操作,最好使用keypress()
来捕获实际文本输入(如jQuery documentation中所述):
$(function(){
$('#NoEmailAllowed').keypress(function(e) {
if(e.which == 64)
{
$(this).addClass("redBg");
}
});
});
jQuery规范化e.which
,无需检查任何其他内容。