【问题标题】:CSS pointer-events='none' and/or XUL mousethrough='always' in web pages for FirefoxFirefox 网页中的 CSS pointer-events='none' 和/或 XUL mousethrough='always'
【发布时间】:2009-11-17 03:33:03
【问题描述】:

最近我向this question 询问了如何通过一个元素(例如全屏覆盖)传递点击。收到了一些很好的建议,但我仍然想知道哪些浏览器原生支持这个......

对于那些跳过上一个链接的人,叠加层纯粹是装饰性的,必须被叠加并且应该忽略点击(所有鼠标事件都应该通过它)...

到目前为止,我只设法让它与 WebKit 浏览器一起工作。

作品(Chrome 和 Safari 4):-
<image src='./images/75/75.overlay.blood.png' width='100%' height='100%' style='z-index: 3; position: absolute; top: 0; left: 0; pointer-events: none;' />

众所周知,Firefox 支持带有 SVG(以及 other HTML elements in 3.6)的指针事件;问题是,我似乎无法让它与 SVG 一起使用(例如 xlink:href="overlay.24bit.8alpha.png")。

我希望实现此目的的另一种方法是使用XUL in HTML

我希望在叠加层上使用属性mousethrough="always"&lt;image&gt; 等)。目前还没有工作...

奇怪的是,Internet Explorer 将 alpha opacity PNG 的透明区域视为“点击”,这很方便。

在 Firefox (3+) 中实现此目的的任何其他好的(或简单但 hackky)方法。用wmode="transparent" 思考了一个 Flash 覆盖(失败)。

【问题讨论】:

标签: javascript html firefox xul


【解决方案1】:

试试这个 jQuery 解决方案:http://jsbin.com/uhuto

至少适用于 Firefox、Chrome、iPad 的 Safari 和 IE8。我看到的唯一问题是覆盖在 IE 中不是半透明的,但我认为这是可以克服的。

另一个解决方案(由 Ext JS 插件使用):http://www.vinylfox.com/forwarding-mouse-events-through-layers/ - 使用 Javascript 重新转发事件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-03-21
    • 2011-08-16
    • 2019-05-08
    • 1970-01-01
    • 2015-07-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多