2010-08-18 12 views
18

के कारण jQuery होवर समस्या मैं jQuery का उपयोग कर तत्व के लिए एक होवर ईवेंट ट्रिगर करना चाहता हूं, लेकिन मेरे पास जेड-इंडेक्स का उपयोग करके तत्व पर स्थित अर्ध-पारदर्शी पीएनजी है। क्या पीएनजी को अनदेखा करने के लिए jQuery को बताने का कोई तरीका है और इसके नीचे तत्व के लिए होवर ईवेंट ट्रिगर करें?जेड-इंडेक्स

उत्तर

20

आप एक आधुनिक ब्राउज़र css3 का समर्थन करता है कि प्रयोग कर रहे हैं, पारदर्शी PNG के लिए सीएसएस नियम को यह लाइन जोड़ने का प्रयास करें: pointer-events: none;
यह मूल रूप से ब्राउज़र बताता है इस तत्व पर सभी माउस की घटनाओं को अनदेखा करने की।

उदाहरण के लिए:

img 
{ 
    pointer-events: none; 
} 

https://developer.mozilla.org/en/css/pointer-events

वैकल्पिक रूप से अगर आपके लक्षित ब्राउज़र css3 का समर्थन नहीं करता, तो आप माउस घटना पर कब्जा कर सकते हैं और फिर अंतर्निहित तत्व पर एक नया एक आग।

उदाहरण के लिए

अगर अपनी छवि आईडी #img है और अपने अंतर्निहित तत्व आईडी आप ऐसा कर सकते हैं #elem है:

$("#elem").hover(function(e){ 
    $("#img").mouseenter(e); 
}); 

आप इस एक छोटे से कैसे अपने DOMS स्थापित कर रहे हैं पर निर्भर करता है के साथ गड़बड़ करने के लिए हो सकता है , यहां प्रलेखन http://api.jquery.com/mouseenter/

+0

धन्यवाद! यह काम करता है, मुझे लगता है कि गैर आधुनिक ब्राउज़र के लिए यह काम नहीं करेगा, हुह? – user424616

+0

मैंने अभी अपना उत्तर एक jQuery समाधान के साथ संपादित किया है, जो पुराने ब्राउज़र के लिए काम कर सकता है :) –

+0

भयानक रेजर। आप इस तरह की चीजें कैसे जानते हैं? यह ज्ञान वास्तव में उपयोगी है और सभी अज्ञात है। जीजी साथी –

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^