我正试图捕捉点和删除键码,但在不同的事件。
function validateSomething(eve) {
var charCode = (eve.which) ? eve.which : eve.keyCode
if (charCode == 46)
console.log("Killer Brand")
}
当我按下文本框中的"DOT"或"Delete"键时;按下键调用上述函数;if语句在两者上执行。为什么?如何解决?
使用keydown事件代替。正如W3schools所说:
onkeypress事件不会对所有键(如ALT, CTRL, SHIFT,ESC)。只检测用户是否按下了键,使用onkeydown事件代替,因为它适用于所有键
所以它可以被检测到相同的代码按下键。阅读更多:
那么,这里是一个工作示例:http://www.w3schools.com/jsref/event_onkeypress.asp
<input type="text" onkeydown="validateSomething(event)" />
function validateSomething(eve) {
var charCode = (eve.which) ? eve.which : eve.keyCode
if (charCode == 46) {
console.log("Killer Brand")
}
}