2013-09-24 37 views
-1

我使用此代碼在懸停/鼠標懸停時應用圖像效果,但我不希望將鼠標懸停/拖出直接附加到圖像上,因爲出現覆蓋圖在上面,如何在此特定情況下檢測mouseenter並在父元素上留下

jQuery('.gridfx-img img').each(function(){ 
    this.onmouseout = function(){ 
     var canvas1 = Pixastic.process(this, "desaturate"); 
     canvas1.onmouseover = function(){ 
      Pixastic.revert(this); 
     } 
    } 
    this.onload = function(){ 
     var canvas = Pixastic.process(this, "desaturate"); 
     canvas.onmouseover = function(){ 
      Pixastic.revert(this); 
     } 
    } 
}); 

我靶向的元素是.gridfx-IMG鼠標輸入/如果我改變的是,該代碼不起作用但是離開。因爲這必須是實際的圖像。我試過this.parents()等等,迄今爲止沒有任何工作。有任何想法嗎?

+2

特定的情況下,在這裏,你應該提供的jsfiddle讓我們看到更多的是怎麼回事 –

+0

什麼是Pixastic?你想介入我們的情況嗎? – Edorka

回答

-1

closest()方法將返回匹配選擇器的節點的祖先。 hover()方法接受2種方法來處理鼠標輸入和鼠標輸出事件。

var container = jQuery('.gridfx-img img').closest(".gridfx-img").hover(
    function onMouseInDo(event){}, 
    function onMouseOutDo(event){}, 
) 
+1

建議對投票進行評論。 – Edorka

0

真的有兩種選擇。您可以將您的活動附加到疊加層,然後使用jQuery遍歷功能從該元素導航到要生效的子圖像。

另外,也可能更有可能的是,您要關閉覆蓋層的鼠​​標事件。這將允許翻轉和點擊穿過圖層和你想要影響的圖像。它是用CSS而不是jQuery自己完成的 - 取決於你的覆蓋是否有鼠標功能。

https://developer.mozilla.org/en-US/docs/Web/CSS/pointer-events

#overlay {  
    pointer-events: none; 
} 
相關問題