我有一個裁剪插件,可以在拖動圖像時平移圖像。我想在上面塗上一個面具png,給人一種切割形狀的印象。 here is the jsfiddle有人可以解釋爲什麼這在IE瀏覽器中工作?
它在圖像遮罩div上使用css3屬性pointer-events:none;
,它可以在webkit瀏覽器(如chrome和firefox)中使用。但它在IE中不起作用,因爲pointer-events: none;
僅適用於SVG。
我做了很多關於如何通過div傳遞指針事件的研究。我嘗試了一些解決方案,但他們頭疼,有的沒有工作:
forward mouse events through layers
尋找更多到插件我用我能夠擴展它,並把它之後在IE瀏覽器(僅測試8和9)和其他瀏覽器中工作,而不使用pointer-events
選項。 Here is the jsfiddle of the new version。 但我真的不知道它爲什麼工作?我基本上做了三件事。
- 傳遞面具SRC作爲一個選項
添加一個檢查,看是否提供屏蔽選項,如果是裝載功能:
if (this.options.mask_src) { var masksrc = this.options.mask_src; this.createMask(masksrc); }
具備的功能追加一個div用掩模圖像作爲背景圖像的文檔的div:
createMask: function(m_src) { $('<div class="iviewer_image_mask" style="background: url('+ m_src +');"></div>').appendTo(this.container); },
任何人都可以向我解釋爲什麼這種解決方案適用於圖像平移,其掩模層超標?這就像它只是將鼠標事件應用於圖像,並忽略遮罩層。
感謝您的分解。 – thindery 2012-08-02 18:12:11