2013-02-19 10 views
11

से किसी तत्व के कस्टम सीएसएस कर्सर हॉटस्पॉट निर्देशांक निर्धारित करें जब मैं जावास्क्रिप्ट में किसी HTML तत्व की पूर्ण सीएसएस कर्सर परिभाषा प्राप्त करने का प्रयास करता हूं, तो यह किसी कारण से हॉटस्पॉट (लक्ष्य पिक्सेल) निर्देशांक को छोड़ देता है और जिसके परिणामस्वरूप मेरा कर्सर इसे रीसेट कर देता है कर्सर छवि के शीर्ष-बाएं पिक्सेल पर हॉटस्पॉट (यानी एक अच्छी बात नहीं)।जावास्क्रिप्ट

Problem demonstrated in this JSFiddle

अद्यतन: ऐसा लगता है कि कुछ ब्राउज़रों में, विशेष रूप से (मेरे परीक्षणों में) मैक क्रोम और सफारी में ऐसा ही होता है।

अद्यतन 2: इस तरह लग रहा है वास्तव में वेबकिट (8536.26.17, 537+) के नवीनतम रात निर्माण में तय हो गई है, इसलिए मैं कोई वास्तविक जवाब के लिए आवश्यक है के अलावा यह एक बग है, और पहले से ही तय किया गया है लगता है।

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

var elem = document.createElement("div"); 
elem.style.cursor = "url('path/to/cursor') 9 9, auto"; 
console.log(elem.style.cursor); 

आउटपुट:

url(path/to/cursor), auto 

वहाँ किसी भी तरह से एक बार वे सेट किया गया है शैली से उन निर्देशांक प्राप्त करना है ?? मैंने window.getComputedStyle() की कोशिश की लेकिन इसका एक ही परिणाम है।

यह मेरे लिए एक सुंदर प्रमुख निरीक्षण की तरह लगता है। क्या वह जानकारी अभी खो गई है और अब पुनः प्राप्त करने योग्य नहीं है?

+0

यह आइकन का केंद्र यहां है: क्रोम 27, फ़ायरफ़ॉक्स 18. – Mooseman

+0

दिलचस्प। मैक पर नवीनतम क्रोम 24 पर हूं। – devios1

+0

@chaiguy क्या आपके पास अन्य ब्राउज़र इंस्टॉल हैं? यदि हां, तो उनमें परीक्षण करें। –

उत्तर

1

जहां तक ​​मेरा सीएसएस 2.1 विशिष्टता को देख से बता सकते हैं, एक्स और वाई निर्देशांक शामिल नहीं हैं:

http://www.w3.org/TR/CSS21/ui.html#cursor-props

इसके अलावा, Mozilla Developer Network सूचियों पहला, दूसरा "प्रयोगात्मक समन्वय करता है। "

यदि कुछ विनिर्देशन में नहीं है तो आप ब्राउज़र की अलग-अलग, और कभी-कभी विवादित, संपत्ति के कार्यान्वयन की उम्मीद कर सकते हैं।

+0

यह मामला हो सकता है, लेकिन मेरा मतलब वास्तव में है, बिना किसी कस्टम कर्सर को निर्देशित किए बिना सभी व्यर्थ हैं। – devios1

+0

यदि आप 'test.style.cursor' द्वारा दिए गए मान को देखते हैं, तो यह निर्देशांक को बहिष्कृत करता है, और इसलिए जब आप इसे रीसेट करते हैं, तो यह बग का कारण बनता है। चाहे यह बहिष्कृत करने के लिए व्यर्थ है या नहीं, अप्रासंगिक है, आपको एक कामकाज विकसित करना चाहिए ताकि सुविधा काम करे। बाद में, जब समस्या ठीक हो जाती है, तो आप अपना कोड अपडेट कर सकते हैं। – razzed

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