2012-10-05 10 views
9

हटाएं मैंने मार्क किया है जो इस नियम का उपयोग कर होवर सीएसएस शैली को टॉगल करता है। जब पैनल के अंदर एक चेकबॉक्स होता है तो मैं पृष्ठभूमि छवि शैली को हटाना चाहता हूं। क्या यह संभव है? मैंने निम्नलिखित कोशिश की है हालांकि यह विफल रहता है।सीएसएस होवर शैली

सीएसएस:

.StaffMode .day ul li.standard a:hover table { 
     background:url("test.png"); 
    } 

जे एस:

$("li.test table li").hover(
     function() { 
      if($(this).children(':checked')) { 
       alert('need to remove the background image style'); // shows as expected 
       $(this).children('a').removeClass('hover'); // this doesnt work? 
      } 
     } 
    ); 
+1

': होवर' एक छद्म वर्ग है, न कि वास्तविक वर्ग जो जावास्क्रिप्ट हटा सकता है। – KRyan

+0

क्या आप अपना एचटीएमएल पोस्ट कर सकते हैं या बेहतर एक जेएसफ़िल्ड – Chin

+0

मैंने बेवकूफ कोशिश की लेकिन यह वास्तव में जटिल मार्क अप है ताकि कुछ भी सार्थक पोस्ट करना मुश्किल हो। –

उत्तर

18

तुम क्या अपने :hover नियम पर कुछ प्रतिबंध डाल दिया है, और अपने जावास्क्रिप्ट तत्व बदल तो यह अब लागू नहीं होता है की जरूरत क्या। कुछ इस तरह:

$(this).children('a').removeClass('has-hover'); 

आप :hover नहीं निकाल सकते हैं, लेकिन आप has-hover वर्ग को हटा सकते हैं, और के बाद से शासन दोनों की आवश्यकता है, इसे रोकने जाएगा:

.has-hover:hover 
{ 
    /* do whatever */ 
} 

और फिर अपने जावास्क्रिप्ट यह करता है लागू होने से .has-hover:hover नियम।