防止在密码字段中触发按键事件
Prevent keypress events from firing in password fields
我正在编写一个脚本来捕获给定 HTML 页面中的所有按键。
现在我有一个基本的工作脚本
document.onkeypress = function(event){
var evtobj=window.event? event : e;
if (evtobj.altKey || evtobj.ctrlKey || evtobj.shiftKey)
console.log("'Alt', 'Ctrl', or 'Shift' key pressed");
console.log(String.fromCharCode(evtobj.keyCode));
}
现在,我想防止此函数在密码字段上触发事件时触发。
即使事件触发,我应该如何继续识别 element
是一个 input
框,而 type
是 password
。
我猜应该使用 event.target
来完成。
<input type='password' name='password'/>
document.onkeypress = function(event){
var containerName = event.target.name;
if (containerName !== 'password')
{
var evtobj=window.event? event : e;
if (evtobj.altKey || evtobj.ctrlKey || evtobj.shiftKey)
console.log("'Alt', 'Ctrl', or 'Shift' key pressed");
console.log(String.fromCharCode(evtobj.keyCode));
}
}
这应该可以解决您的问题
您也可以使用 event.target.type
检查输入的类型,这将 return 输入的类型。
<input type="password">
document.onkeypress = function(event){
if(event.target.type != 'password'){
var evtobj=window.event? event : e;
if (evtobj.altKey || evtobj.ctrlKey || evtobj.shiftKey)
console.log("'Alt', 'Ctrl', or 'Shift' key pressed");
console.log(String.fromCharCode(evtobj.keyCode));
}
}
我正在编写一个脚本来捕获给定 HTML 页面中的所有按键。
现在我有一个基本的工作脚本
document.onkeypress = function(event){
var evtobj=window.event? event : e;
if (evtobj.altKey || evtobj.ctrlKey || evtobj.shiftKey)
console.log("'Alt', 'Ctrl', or 'Shift' key pressed");
console.log(String.fromCharCode(evtobj.keyCode));
}
现在,我想防止此函数在密码字段上触发事件时触发。
即使事件触发,我应该如何继续识别 element
是一个 input
框,而 type
是 password
。
我猜应该使用 event.target
来完成。
<input type='password' name='password'/>
document.onkeypress = function(event){
var containerName = event.target.name;
if (containerName !== 'password')
{
var evtobj=window.event? event : e;
if (evtobj.altKey || evtobj.ctrlKey || evtobj.shiftKey)
console.log("'Alt', 'Ctrl', or 'Shift' key pressed");
console.log(String.fromCharCode(evtobj.keyCode));
}
}
这应该可以解决您的问题
您也可以使用 event.target.type
检查输入的类型,这将 return 输入的类型。
<input type="password">
document.onkeypress = function(event){
if(event.target.type != 'password'){
var evtobj=window.event? event : e;
if (evtobj.altKey || evtobj.ctrlKey || evtobj.shiftKey)
console.log("'Alt', 'Ctrl', or 'Shift' key pressed");
console.log(String.fromCharCode(evtobj.keyCode));
}
}