以编程方式调用blur会禁用与浏览器窗口的交互

时间:2015-01-24 17:16:42

标签: javascript jquery

我的实现在模态屏幕上有以下组件。

  • 将用于搜索的表单。
  • 用户将看到结果的表格

用户可以使用键盘搜索然后滚动结果列表(使用向上箭头或向下箭头)。

当用户点击进入搜索时,我模糊关注的字段... 当我模糊焦点字段时,用户无法使用向上箭头或向下箭头滚动浏览器窗口... 为了重新启用此默认浏览器行为,用户应在键盘上按Tab键一次...

我的问题是:

  

如何以编程方式重新启用浏览器导航?

PS。:我在这里提到的默认浏览器导航是当你在键盘上向上或向下箭头时发生的行为。

非常感谢任何帮助。 提前谢谢


编辑:

以下代码片段描述了我的方案 http://plnkr.co/edit/YCvfQt?p=preview

$scope.onSubmit = function() {
    $scope.dataSource.push({ name: $scope.personName });
    $('#personNameField').blur();
};

场景(您应该只使用键盘进行复制):

  • 在实时预览中,点击'打开'你应该使用键盘 写点东西然后按回车(不要点击屏幕)
  • 点击后输入尝试滚动列表
  • 你会注意到它是不可能的(你可以滚动 再次,如果你点击一次选项卡)

我想要做的是在用户点击后再次启用滚动...

如果您需要更多背景信息,请与我们联系。 谢谢

1 个答案:

答案 0 :(得分:0)

事实证明,我们只需要关注屏幕上的主要元素......在这种情况下,模态....

我的例子是:

$('#myModal').focus();

感谢您的评论