如何在不从文本字段获取输入的情况下制作快捷键
How do I make a shortcut key WITHOUT getting input from text fields
我是 Javascript 的新手,所以我决定为 m.youtube 创建一个快捷键用户脚本。
它确实有效,但是当我在文本字段中使用该快捷方式(Ctrl+Z 撤消文本)来编写评论时,会发生这种情况
我无法通过 google 搜索或尝试在论坛上找到任何帮助,我可能使用了错误的搜索词。
当前代码
$(function(){
document.onkeydown = function(evt) {
evt = evt || window.event;
if (evt.ctrlKey && evt.keyCode == 90) {
alert("Ctrl-Z");
}
};
});
目标: 当我按下快捷键时,我不想在文本字段中出现指向 运行 的快捷方式。
您可以检查事件目标是否为输入类型。
试试这个:
$(function() {
document.onkeydown = function(evt) {
evt = evt || window.event;
if (evt.ctrlKey && evt.keyCode == 90) {
if (!(evt.target instanceof HTMLTextAreaElement) && !(evt.target instanceof HTMLInputElement)) {
alert("Ctrl-Z");
}
}
};
});
function check () {
document.onkeydown = function(evt) {
evt = evt || window.event;
console.log(evt.target)
if (evt.ctrlKey && evt.keyCode == 90) {
if (!(evt.target instanceof HTMLTextAreaElement) && !(evt.target instanceof HTMLInputElement)) {
alert("Ctrl-Z");
}
}
};
}
check()
<textarea id="w3review" name="w3review" rows="4" cols="50">
hello
</textarea>
<input type="text" >
如果事件目标不是您输入的类型 alert("Ctrl-Z");
我是 Javascript 的新手,所以我决定为 m.youtube 创建一个快捷键用户脚本。 它确实有效,但是当我在文本字段中使用该快捷方式(Ctrl+Z 撤消文本)来编写评论时,会发生这种情况
我无法通过 google 搜索或尝试在论坛上找到任何帮助,我可能使用了错误的搜索词。
当前代码
$(function(){
document.onkeydown = function(evt) {
evt = evt || window.event;
if (evt.ctrlKey && evt.keyCode == 90) {
alert("Ctrl-Z");
}
};
});
目标: 当我按下快捷键时,我不想在文本字段中出现指向 运行 的快捷方式。
您可以检查事件目标是否为输入类型。 试试这个:
$(function() {
document.onkeydown = function(evt) {
evt = evt || window.event;
if (evt.ctrlKey && evt.keyCode == 90) {
if (!(evt.target instanceof HTMLTextAreaElement) && !(evt.target instanceof HTMLInputElement)) {
alert("Ctrl-Z");
}
}
};
});
function check () {
document.onkeydown = function(evt) {
evt = evt || window.event;
console.log(evt.target)
if (evt.ctrlKey && evt.keyCode == 90) {
if (!(evt.target instanceof HTMLTextAreaElement) && !(evt.target instanceof HTMLInputElement)) {
alert("Ctrl-Z");
}
}
};
}
check()
<textarea id="w3review" name="w3review" rows="4" cols="50">
hello
</textarea>
<input type="text" >
如果事件目标不是您输入的类型 alert("Ctrl-Z");