【问题标题】:How can I make my element clickable for Vimium?如何使 Vimium 的元素可点击?
【发布时间】:2018-12-24 22:26:52
【问题描述】:

我在 Firefox 和 Chrome 上使用 Vimium,它对我有很大帮助 https://github.com/philc/vimium

我注意到有些 div 可以点击,我发现class='demo-button' 就是其中之一

<div class='demo-button'>demo-button</div>
<div class='demobutton'>demobutton</div>
<div class='demobuttonnn'>demobuttonn</div>
<div class='demobutto'>demobutto</div>

这里是 Vimium 链接的截图https://jsfiddle.net/qnvujfs6/

如你所见,只有最后一个 div demobutto 不能使用 Vimium 点击。我尝试在 Vimium 源中搜索 demo-buttondemobutton 但没有结果。

有人知道为什么这个演示按钮div-s 之间有区别吗?

我希望能够使用引导插件点击一些生成的元素,例如Bootstrap Toggle。这是两个切换的代码,但只能单击第二个,因为它包含demo-button

https://codepen.io/duleorlovic/pen/VqWaEg

【问题讨论】:

    标签: html vimium


    【解决方案1】:

    前三个是可点击的,因为class 属性包含单词“按钮” (See source)。

    出于可用性目的,它更喜欢简单地使用旨在完成这项工作的元素。例如锚点 (&lt;a&gt;) 和按钮 (&lt;button&gt;)。

    但如果这是不可能的(这里似乎就是这种情况),您也可以将role 属性添加到元素。具有属性role 且具有以下值之一的元素也将被视为可点击:

    • 按钮
    • 标签
    • 链接
    • 复选框
    • 菜单项
    • menuitemcheckbox
    • menuitemradio

    (Source)

    因此,如果您的 div 元素表示复选框,您的代码将如下所示:

    <div class="demo-button" role="checkbox">demo-button</div>
    <div class="demobutton" role="checkbox">demobutton</div>
    <div class="demobuttonnn" role="checkbox">demobuttonn</div>
    <div class="demobutto" role="checkbox">demobutto</div>

    在这种情况下,您不依赖于特定的类名,which are by the extension considered "as unreliable"

    【讨论】:

    • 太好了,所以我可以将手指放在键盘上 :) 我将使用类名,因为它是作为插件的一个选项提供的,我将提交拉取请求以添加那些 role 属性。顺便说一句,在这个插件演示 stephanwagner.me/jBox 我发现我可以点击 div,很意外,因为正如你所解释的,它在类名中包含“按钮”。
    猜你喜欢
    • 2019-08-04
    • 1970-01-01
    • 2017-06-20
    • 2013-06-16
    • 2012-10-06
    • 1970-01-01
    • 2018-07-13
    • 2014-10-17
    • 2019-07-09
    相关资源
    最近更新 更多