【发布时间】:2010-04-20 21:17:17
【问题描述】:
我正在考虑一个检查按下的键值的函数,并且只接受最常见的字符,canc,enter,......因为我只需要基本的 ascii 字符集(不是ñ,č,中文字符, ...)。
或者在每次按键后检查值是否发生变化的函数。
但是 jQuery 真的没有针对这种情况的事件处理程序吗?
哦,应该是跨浏览器。
【问题讨论】:
我正在考虑一个检查按下的键值的函数,并且只接受最常见的字符,canc,enter,......因为我只需要基本的 ascii 字符集(不是ñ,č,中文字符, ...)。
或者在每次按键后检查值是否发生变化的函数。
但是 jQuery 真的没有针对这种情况的事件处理程序吗?
哦,应该是跨浏览器。
【问题讨论】:
您可以尝试取消键,但它们可能只是粘贴。或者可能会找到一种通过脚本设置值的方法。最好的做法是在将值发送到服务器(或以其他方式进行操作)之前验证该值没有特殊字符。
【讨论】:
var oldval = $('textarea').val();
$('textarea').live('mouseover', function() {
if($(this).val() != oldval) {
//do your thing here
oldval = $(this).val(); //reassign oldval
}
});
如果新值与旧值不同,这将在鼠标悬停时激活并执行您想要的任何操作。我还没有测试过,但我认为它也应该包括粘贴。
【讨论】: