【问题标题】:How to focus a div for keyboard scrolling in Opera如何在 Opera 中聚焦 div 以进行键盘滚动
【发布时间】:2012-02-20 10:59:48
【问题描述】:

我有一个类似灯箱的 div,它出现在页面上以呈现可滚动的内容。在 FF、IE 和 Chrome 中,允许用户使用箭头和 pagedown/up 键滚动灯箱就像为其分配一个 tabindex 并调用 .focus() 一样简单。

在 Opera 中,.focus() 什么都不做,并且制表符/箭头/分页键将继续作用于背景页面中的任何制表位元素。

这里有一个小提琴来说明这个问题:http://jsfiddle.net/9W943/5/

我已经看过很多关于如何聚焦 div 的示例,但似乎没有人承认 tabindex 方法在 Opera 中不起作用。有什么办法可以强制 Opera 聚焦灯箱?如果做不到这一点,最好的解决方法是什么 - 监听关键事件,然后“手动”滚动灯箱? (或者我可以重定向事件吗?)

我尝试在灯箱上调用 .click() 并创建+调度一个虚假的点击事件 - 因为键盘滚动在您点击后可以正常工作 - 但都不起作用。

我也很好奇为什么非输入元素可聚焦不是标准的,因为它们可以并且确实接收键盘事件!如果不是可以通过键盘交互的元素,你如何定义一个焦点元素?

【问题讨论】:

    标签: javascript lightbox opera


    【解决方案1】:

    这是一个已知的错误(内部为 DSK-269802) - 不幸的是,我知道没有好的解决方法:-/

    我昨天自己遇到了这个问题,并且会给这个错误一个“碰撞”——也许我们可以将它融入一些正在进行的开发工作中。我建议你忽略这个错误,只像它在 Opera 中工作一样编写代码,因为有一天它会。

    【讨论】:

    • (但是有一个隐藏良好的功能会导致溢出的一些滚动:如果您按下 shift-arrow 向下(或向上)自动内容。我什至不知道这是故意还是错误:-p)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-09-03
    • 2022-06-14
    • 2017-12-27
    • 1970-01-01
    • 2023-03-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多