Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.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 如何为完整文档启用键控,并为一个div禁用键控_Javascript_Jquery_Html - Fatal编程技术网

Javascript 如何为完整文档启用键控,并为一个div禁用键控

Javascript 如何为完整文档启用键控,并为一个div禁用键控,javascript,jquery,html,Javascript,Jquery,Html,我正在使用fancybox作为表单弹出窗口,我的客户端不希望背景应该是滚动的 Firefox仍然允许用户通过箭头键滚动背景 现在,我阻止用户按箭头键直到弹出完整的文档,但它也会停止我表单中的相同向下键 用户是否可以使用这些选项来阻止除表单之外的所有文档的事件?尝试以下操作- $(document).keydown(function(event){ if ($(event.target).is('.theForm')) event.stopPropogation(); else

我正在使用fancybox作为表单弹出窗口,我的客户端不希望背景应该是滚动的

Firefox仍然允许用户通过箭头键滚动背景

现在,我阻止用户按箭头键直到弹出完整的文档,但它也会停止我表单中的相同向下键

用户是否可以使用这些选项来阻止除表单之外的所有文档的事件?

尝试以下操作-

$(document).keydown(function(event){
  if ($(event.target).is('.theForm'))
      event.stopPropogation();
  else
      // block scrolling  
});
试试这个-

$(document).keydown(function(event){
  if ($(event.target).is('.theForm'))
      event.stopPropogation();
  else
      // block scrolling  
});

要启用完整文档的向下键,请执行以下操作:

$(document).keydown(function(event) {
  var charCode = event.which;
  alert('Handler for .keydown() called - ' + charCode );
});
要禁用一个div的键控功能,请执行以下操作:

$('#target').keydown(function(event) {
  event.preventDefault()
});

其中,
target
是特定分区的ID。

为完整文档启用键控:

$(document).keydown(function(event) {
  var charCode = event.which;
  alert('Handler for .keydown() called - ' + charCode );
});
要禁用一个div的键控功能,请执行以下操作:

$('#target').keydown(function(event) {
  event.preventDefault()
});

其中,
target
是特定div的ID。

不再需要检查
event.keyCode
,因为它是jQuery事件对象,所以它总是
event.which
。看见(要确定按下了哪个键,请检查传递给处理程序函数的事件对象。虽然浏览器使用不同的属性来存储此信息,但jQuery将.which属性标准化,以便您可以可靠地使用它检索键代码)不再需要检查
event.keyCode
,因为它是jQuery事件对象,所以它总是
event.which
。看见(要确定按下了哪个键,请检查传递给处理程序函数的事件对象。虽然浏览器使用不同的属性来存储此信息,但jQuery会规范化.which属性,以便您可以可靠地使用它检索键代码)