【问题标题】:Keep Hover attribute with Pointer-event: none使用指针事件保持悬停属性:无
【发布时间】:2013-07-11 14:40:37
【问题描述】:

我在背景图片下方有一个按钮。为了使按钮可点击,我添加了一个“指针事件:无”。但是,我还想要一个精灵图像,在其中更改悬停时的背景图像,指针事件也会禁用它。有没有办法保持元素的悬停属性,同时让点击通过它?

我搜索并尝试了 jquery unbind click 并在单击#cover_button 时返回 false,但它不起作用。

这是我的代码。如果我保留指针事件:无,我可以单击背景图像下方的按钮。但这会禁用悬停属性。如果我删除它,我将无法点击。

#cover_button {
    pointer-event: none;
    position: absolute;
    width: 46px;
    height: 24px;
    left: 0;
    top: 0;
    background: url(http://s13.postimg.org/bqxlnbfs3/Like.png);
}

#cover_button:hover {
    background: url(http://www.moronacity.com/tech-journal/images/2011/February/small-Facebook-like-button-counter.gif);
}

编辑:
这是一个小提琴: 可点击但不可悬停 http://jsfiddle.net/3PXTK/1/

这是另一个:可悬停但不可点击(我刚刚删除了指针事件:无) http://jsfiddle.net/3PXTK/

【问题讨论】:

  • 如果将cover_button和实际按钮包装在一个容器中,您可以将点击绑定到父容器,并让它触发实际的按钮点击。如果由于某种原因这是不可能的,请在点击时短暂隐藏封面,获取其下方的元素,并触发它的点击事件。发布小提琴以获得更多帮助。
  • 我不知道该怎么做,因为按钮是一个 iframe。无论如何,这里是 jsfiddle Clickable jsfiddle.net/3PXTK/1 Hoverable jsfiddle.net/3PXTK
  • 您正在使用包含来自另一个域的内容的 iFrame。如果不付出一些认真的努力,您将无法操纵此内容。我建议像插件一样查看 jquery facebook
  • 如果我不操作 iframe 会怎样?我设法保留了指针事件:无,然后检测到 #cover_like_button_holder iframe 上的悬停。那行得通,我只是现在不知道如何替换背景图像。 jQuery可以做到吗?比如,如果#ElementB 悬停,则更改#ElementA 上的背景图像。

标签: jquery css events pointers click


【解决方案1】:

你不能没有饼干就吃饼干。首先你必须了解指针事件是如何工作的:

none 阻止指定的所有单击、状态和光标选项 HTML 元素

这意味着没有点击,没有悬停,没有活动 - 没有光标。你不能说好的,我只想悬停而不是别的。

顺便说一句。 FB 这样做是因为他们不允许对like 按钮进行任何更改。你不能改变外观,覆盖它等等。

【讨论】:

    猜你喜欢
    • 2017-09-14
    • 2020-06-19
    • 2016-08-16
    • 1970-01-01
    • 1970-01-01
    • 2014-08-07
    • 1970-01-01
    • 1970-01-01
    • 2015-11-12
    相关资源
    最近更新 更多