2013-02-28 6 views
8

से अधिक मैं एक मतदान बटन के साथ काम कर रहा हूँ माउस एक हाथ कर्सर करें।जावास्क्रिप्ट/Onclick - जब माउस ले जाने

बटन एक साधारण लिंक था, लेकिन खोज इंजन स्पाइडर पृष्ठों को क्रॉल कर रहे थे और झूठे वोटों को ट्रिगर कर रहे थे। तो, मैंने इसे रोकने के लिए इसे एक क्लिक पर बदल दिया।

हालांकि, ऐसा करने के बाद, बटन अभी भी ठीक काम करते हैं, लेकिन माउस कर्सर में अब 'हाथ' सूचक नहीं है। जब आप माउस-ओवर करते हैं तो यह तीर पॉइंटर रहता है, इसलिए यह कहना मुश्किल है कि यह एक वास्तविक कार्यशील लिंक है।

इसे ठीक करने का प्रयास करने के लिए, मैंने एक शैली = "कर्सर: डिफ़ॉल्ट;" जोड़ा, मैंने शैली = "कर्सर: क्रॉसहेयर;" कर्सर व्यवहार को आजमाने और बदलने के लिए, लेकिन यह काम नहीं कर रहा है। कर्सर पूरे समय सूचक रहता है।

यहाँ मेरी कोड है:

<map id="vote_buttons" name="vote_buttons"> 
    <area shape="rect" alt="" coords="5,3,78,43" onClick="window.location='http://www.site.com/page.php?vote=Y'" style="cursor:default;" title="" /> 
    <area shape="rect" alt="" coords="83,3,160,44" onClick="window.location='http://www.site.com/page.php?vote=N'" style="cursor:pointer;" title="" /> 
    <area shape="default" nohref="nohref" alt="" /> 
</map> 

मैं यहाँ क्या याद आ रही है इस माउस एक हाथ की तरह लग रहे बनाने के लिए?

हमेशा के रूप में अग्रिम धन्यवाद।

+4

'कर्सर का प्रयास करें: सूचक;' –

+0

मेरे पास कर्सर है: पॉइंटर; ऊपर मेरे उदाहरण में। क्या मैं इसे गलत तरीके से उपयोग कर रहा हूं? – Kevin

उत्तर

-2

तो मैं एक काम के आसपास की खोज की। मैं इसके साथ पूरी तरह से खुश नहीं हूं, लेकिन ऐसा लगता है कि यह काम कर रहा है। असल में, मैंने अभी टैग में एक href = "#" जोड़ा है। यह हाथ प्रकट होता है और अधिकांश समय क्लिक करता है जैसे क्लिक करना चाहिए।

<map id="vote_buttons" name="vote_buttons"> 
    <area href="#" shape="rect" alt="" coords="5,3,78,43" onClick="window.location='http://www.site.com/page.php?vote=Y'" style="cursor:default;" title="" /> 
    <area href="#" shape="rect" alt="" coords="83,3,160,44" onClick="window.location='http://www.site.com/page.php?vote=N'" style="cursor:pointer;" title="" /> 
</map> 
+0

आप href (पूर्ण # के बजाय) में पूरा यूआरएल भी जोड़ सकते हैं और ऑनक्लिक को हटा सकते हैं। – zangrafx

+1

यह इतने सारे स्तरों में "गलत" है: * सिर्फ दिखाने के लिए सूचक कर्सर एक अच्छा अभ्यास नहीं है एक नकली href जोड़ा जा रहा है। * केवल रीडायरेक्ट करने के लिए ऑनक्लिक ईवेंट का उपयोग करना (href का उपयोग करने के बजाय) भी एक बुरी आदत है। * शैली से संबंधित मुद्दे के लिए सीएसएस का उपयोग नहीं करना भी एक बुरा अभ्यास है। मुझे लगता है कि "कर्सर: पॉइंटर;" जोड़ने से पहले बीएस दृष्टिकोण को जैसा बताया जाना चाहिए उचित चयनकर्ता के साथ उचित सीएसएस फ़ाइल में। –

+0

@ डेविड डायज - यदि आप मेरी पोस्ट पढ़ते हैं, तो आप देखेंगे कि मेरे कोड में आपके द्वारा प्रस्तावित समाधान है।यह मेरी स्थिति में काम नहीं करता है, यही कारण है कि मैं यहां पहली जगह पर हूं। एलओएल ... लेकिन धन्यवाद। – Kevin

16

आप सीएसएस में यह कर सकते हैं!

बस इसे उस तत्व में जोड़ें जिसे आप शैली चाहते हैं।

कर्सर: सूचक;

6

वास्तव में मैं इस सवाल का जवाब मिला: Cursor not changing to pointer in Usemap/area case

आपके मामले में, बस प्रत्येक <area> को href="javascript:void(0)" जोड़ें।

उदाहरण: http://jsfiddle.net/yE5bQ/

+0

वास्तव में आप केवल href = "जावास्क्रिप्ट;" कर सकते हैं – Illidan

-1

इस ऊपर/सिर का प्रयास करें, यह IE में काम करता है और HTA की, चाल URL शामिल करना था ...

put following inside your [body] button or anchor 
onmousedown="mouseDown1()" onmouseup="mouseOut1() 

<script type="text/javascript"> 

function mouseDown1() { 
document.body.style.cursor = 'url(anim2.cur)'; 
} 

function mouseOut1() { 
document.body.style.cursor = 'url(anim1.cur)'; 
} 

function calc() { 
var dummy = 0; 

for (var i=0; i<100000;i++) { 
for (var z=0; i<100000;i++) { 
dummy = dummy + z + i; 
} 
} 

cursor_clear(); 
} 
</script> 
7

अपने सीएसएस में डाल इस:

#vote_buttons { 
    cursor:hand; 
} 

हो जाएगा ताकि इसे बनाओ ताकि बटन पर होवर करते समय आपका कर्सर हाथ में बदल जाए।

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