2012-10-23 17 views
15

संभव डुप्लिकेट:
jQuery mouseover a disabled link, how do I change the cursor so it doesn’t appear clickable?रोकें कर्सर बदलें

मैं एक बटन है कि मैं कुछ मामलों में अक्षम करने का प्रयास कर रहा हूँ जहां अपने कार्य अनावश्यक या असंभव है है । यह पृष्ठ पर कई बटनों में से एक है, और मैं केवल इस विशिष्ट बटन को अक्षम करना चाहता हूं।

जिस प्रभाव को मैं ढूंढ रहा हूं वह इसे बाहर निकालना, अनजान करने के लिए है, और माउस पॉइंटर के लिए बटन पर होवर करते समय हाथ पॉइंटर में नहीं बदला जाना है।

मैंने पहले 2 उद्देश्यों में सफलतापूर्वक सफलता प्राप्त की है, लेकिन मुझे यह सुनिश्चित नहीं है कि तीसरे व्यक्ति को कैसे बनाया जाए। जब मैंने खोज की तो मैंने इस व्यवहार को वैश्विक रूप से अक्षम करने के लिए सुझाव देखा, लेकिन एक विशिष्ट बटन के लिए नहीं।

यहां तक ​​कि मेरे पास अब तक है।

if(buttonIsDisabled) 
{ 
    var btnid ="#button"+index; 
    $(btnid).attr("disabled","disabled").fadeTo(500,0.2); 
} 

यह सफलतापूर्वक बटन उन पर क्लिक करता है और इसे बाहर fades, लेकिन फ़ायरफ़ॉक्स और क्रोम में यह अभी भी एक हाथ आइकन जब मँडरा को दर्शाता है। आईई 8 (जिसे मुझे भी समर्थन करना है) हाथ को सही तरीके से अक्षम करता है और कर्सर को दिखाता है।

क्रोम और फ़ायरफ़ॉक्स में आईई के व्यवहार को लागू करने के तरीके पर कोई सुझाव?

+1

आप की कोशिश की है सीएसएस के साथ स्टाइल, उदाहरण के लिए 'कर्सर: default'? – j08691

+0

@ j08691 मैं केवल यह कभी-कभी गतिशील रूप से करना चाहता हूं, लेकिन jQuery .css समाधान स्पष्ट रूप से समझ में आता है। –

+0

@ डीओडियस अच्छा बिंदु, मैंने कुछ खोज किया लेकिन बटन विशिष्ट सामान खोज रहा था और "अक्षम लिंक" पोस्ट नहीं देखा। –

उत्तर

25

आप "कर्सर" नियम को "डिफ़ॉल्ट" के मान पर सेट कर सकते हैं। JQuery में, आप css विधि का उपयोग कर सकते हैं।

$(btnid).css("cursor", "default"); 

आप पहले से ही $ (btnid) का उपयोग कर रहे हैं, तो आप सिर्फ कॉल श्रृंखला सकते हैं, तो जैसे:

$(btnid).attr("disabled","disabled").css("cursor", "default").fadeTo(500,0.2); 
+0

बिल्कुल वही जो मैं चाहता था, धन्यवाद! –

+0

कुछ इस काम को भी पसंद करेंगे। सीएसएस ("कर्सर", "पॉइंटर! महत्वपूर्ण"); ? का उपयोग करना! कुछ भी ओवरराइड करना महत्वपूर्ण है? –

+0

@KalaJ - हाँ इसे काम करना चाहिए, लेकिन एकमात्र कारण आपको ऐसा करना चाहिए यदि आप ओवरराइड को ओवरराइड करने का प्रयास कर रहे हैं। JQuery में सीएसएस फ़ंक्शन मिलान किए गए डोम तत्व की शैली संपत्ति पर फ़ील्ड सेट करता है। इसमें डिफ़ॉल्ट रूप से उच्चतम विशिष्टता होनी चाहिए, इसलिए इसकी आवश्यकता नहीं है! महत्वपूर्ण, जब तक कि निम्न विशिष्टता मिलान नियम भी उपयोग न हो! महत्वपूर्ण। अगर यह सब मम्बो-जंबो लगता है, तो अंगूठे का एक अच्छा नियम उपयोग करना है! महत्वपूर्ण रूप से महत्वपूर्ण। Http://css-tricks.com/specifics-on-css-specificity/ और http://css-tricks.com/when-using-important-is-the-right-choice/ देखें –

4

आप बटन पर cursor: default की एक शैली भी सेट कर सकते हैं।

4

आप इस तरह सीएसएस सेट कर सकते हैं:

$(btnid) 
    .attr("disabled","disabled") 
    .css('cursor','default') 
    .fadeTo(500,0.2); 
संबंधित मुद्दे