【发布时间】:2011-10-27 16:41:50
【问题描述】:
如何使用
$('div').bind('keyup', function(e) {
if(e.which == '@') {
}
});
想知道如何获得@ 的keyup 符号?
【问题讨论】:
标签: jquery click keycode keyup
如何使用
$('div').bind('keyup', function(e) {
if(e.which == '@') {
}
});
想知道如何获得@ 的keyup 符号?
【问题讨论】:
标签: jquery click keycode keyup
使用String.fromCharCode 方法。反向函数是 "@".charCodeAt(0)。e.which 将仅保存有关在 keypress 事件中按下的键的敏感数据。但是,当按下某个键时,此事件会触发多次。
如果您需要一种可靠的方法来在keyup 事件期间检查键的字符,请创建字符映射。 This page 会帮助你。
$('div').bind('keypress', function(e) {
var char = String.fromCharCode(e.which);
if(char == '@') {
}
});
【讨论】:
'。
ev.which 在keypress 事件中显示64。改进的答案。
您可以在发布此类问题之前自己尝试
去JSBin做一个简单的测试:
然后你就会确切地知道要寻找什么。
顺便说一句,因为你需要在所有移动设备和浏览器上担心很多,我建议你使用indexOf() 或其变体,例如:
$("#txt").bind("keyup", function(evt) {
if( $(this).val().indexOf("@") > 0 ) {
// got it
}
});
或者如果您需要知道它是否是最后写入的字符:
if( $(this).val().lastIndexOf("@") == $(this).val().length - 1)
{
// got it
}
【讨论】:
这似乎工作.. http://jsfiddle.net/jNeH9/2/
$(document).bind('keyup', function(e) {
if(e.which == 50 && e.shiftKey)
{
}
});
【讨论】: