我正在开发一个使用Opera 12在机顶盒上运行的交互式界面,我的开发发生在Opera 12.12中。
我正在利用Opera的空间导航来浏览界面(有关详细信息,请参阅https://dev.opera.com/tv/tweaking-spatial-navigation-for-tv-browsing/)。这都是通过CSS使用nav-[up:down:left:right]
属性完成的。
这是一个非常基本的例子:
<a id="1" href="#" style="nav-up: #3; nav-right: #2;">Link 1</a>
<a id="2" href="#">Link 2</a>
<a id="3" href="#">Link 3</a>
如果Link 1
具有焦点且用户导航Right
(使用遥控器),则焦点将跳至Link 2
。如果Link 1
具有焦点并且用户导航Up
,焦点将跳转到Link 3
。如果Link 1
具有焦点且用户导航Down
或Left
,则浏览器会默认&#34;下一个逻辑元素&#34;导航启动(因为nav-down
和nav-left
尚未指定)。这个动作是不可取的,因为该元素可以是页面上任何位置的完全独立的菜单/ div /列表,我想完全控制用户如何导航。
我尝试将nav
属性留空:
<a id="1" href="#" style="nav-up: #3; nav-down: ; nav-left: ; nav-right: #2;">Link 1</a>
或
<a id="1" href="#" style="nav-up: #3; nav-down: #; nav-right: #2; nav-left: #;">Link 1</a>
但在两种情况下,defualt导航都会启动。我有一个解决方案,其中属性引用自身:
<a id="1" href="#" style="nav-up: #3; nav-down: #1; nav-right: #2; nav-left: #1;">Link 1</a>
这很有效,但是我想知道是否有另一个解决方案。可以使用相同的编码方法忽略导航事件吗?