Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/461.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 仅在html的顶层处理keydown事件_Javascript_Html_Jquery - Fatal编程技术网

Javascript 仅在html的顶层处理keydown事件

Javascript 仅在html的顶层处理keydown事件,javascript,html,jquery,Javascript,Html,Jquery,我正在开发一个Web应用程序,其中我有一个底层html文件,带有一些JS功能,我无法干预。 通过JS,我在页面上方创建了一层z-index:1000在我的css中。 现在我需要一些输入,但我的按键事件不能与下面的“页面”交互 我的想法是与这样的东西一起工作: $(document).keydown(function (e) { e.stopImmediatePropagation(); e.preventDefault(); return false; }); 据我所知,这将阻止事

我正在开发一个Web应用程序,其中我有一个底层html文件,带有一些JS功能,我无法干预。 通过JS,我在页面上方创建了一层
z-index:1000在我的css中。
现在我需要一些输入,但我的按键事件不能与下面的“页面”交互

我的想法是与这样的东西一起工作:

$(document).keydown(function (e) {
  e.stopImmediatePropagation();
  e.preventDefault();
  return false;
});
据我所知,这将阻止事件触发。但它也会禁用覆盖中的输入

是否可以只接受
中的按键输入,而不在基础页面中触发按键关闭事件

谢谢你的建议

代码:

.html

带有
的标准html,我不想与之交互,因为这是一个在我公司生产过程中运行的有10年历史的软件

.js

.css

这不管用吗? 通过链接隐藏html上的向下键

$( "#idForUnderlyingHtml" ).keydown(function( event ) {
    event.stopImmediatePropagation();
    event.preventDefault();
    return false;
});

如果这背后的意图是限制客户端在浏览器中的功能,那么您应该注意,即使是没有经验的用户也无法了解如何在其客户端中禁用或修改JS。请将用于创建覆盖的HTML、CSS和JS添加到添加的代码部分。我现在尝试了,但没有任何积极的结果:
$(document).on(“keydown”,“idofunderlynghtml”,函数(e){if($(“.modal”).is(“:visible”){e.stopImmediatePropagation();e.preventDefault();return false;})@fatum_昆虫也许这能帮到你
function inputMessage() {
  return (
    '<div id="customMessage">
         <div id="textInput"><label for="description" id="inputLabel">Um was für ein Problem handelt es sich?</label><br><textarea id="description" placeholder="Bitte beschreiben Sie den Fehler"></textarea></div>' +
        '<div class="checkBox"><label for="localSupport">Ich benötige Hilfe vor Ort</label><input type="checkbox" id="localSupport"></div>' +
        '<div class="checkBox"><label for="noKeyboard">Ich verfüge nicht über eine Tastatur</label><input type="checkbox" id="noKeyboard"></div>' +
        '<div class="btn" id="sendMessage">Störmeldung absetzen</div>
    </div>'
  );
}
$("body").prepend(createModal());
$(".modalContainer").append(createMessage());
$(".secondModal .modalBody").append(inputMessage());

.modal {
  background: rgba(0, 0, 0, 0.8);
  position: fixed;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 1000;

.modal .modalContainer {
  margin: 5% auto;
  width: 75%;
  height: 80%;
  box-sizing: border-box;
  position: relative;
  border: 2px solid black;
}
}
$( "#idForUnderlyingHtml" ).keydown(function( event ) {
    event.stopImmediatePropagation();
    event.preventDefault();
    return false;
});