2013-03-18 4 views
6

मैं अपने एचटीएमएल तत्व पर माउस को नीचे रख रहा हूं जो कर्सर को बदलता है। अब यदि माउस बटन दबाए जाने पर कुंजी दबाता है, तो मैं तत्व को एक और कर्सर असाइन करता हूं। यह मोज़िला पर पूरी तरह से ठीक काम करता है जो तुरंत कर्सर को बदलता है लेकिन क्रोम में नहीं। क्रोम में, मुझे नए कर्सर को दृश्यमान बनाने के लिए कर्सर को कम से कम एक पिक्सेल के लिए स्थानांतरित करने की आवश्यकता है। ध्यान दें कि ऐसा तब होता है जब माउस बटन दबाया जाता है। यदि नहीं, कर्सर वांछित के रूप में तुरंत स्विच करता है। किसी भी विचार को ठीक से कैसे ठीक किया जाए?सीएसएस कर्सर काम नहीं कर रहा है जब माउस नीचे है

अद्यतन: मैं बस पाया है कि इस वेबकिट में एक बग हो रहा है: https://bugs.webkit.org/show_bug.cgi?id=53341

लेकिन वैसे भी, किसी भी विचार यह अभी भी काम कर रहा कोई ठीक अभी तक बाहर के रूप में बनाने के लिए? इस कोड के साथ JSFiddle Sample:

यहाँ मिस-व्यवहार का एक नमूना है

एचटीएमएल:

<div id="test1" style="background:blue;width:200px;height:200px;color:white">Case #1 - cursor not changing for mousedown before moving it (Press mouse - nothing happens. Then hold mouse and move)</div> 

<div id="test2" style="background:red;width:200px;height:200px;color:white">Case #2 - cursor not changing for mousedown before moving it when pressing a key (Press mouse, then click any key - Nothing happens. Then hold mouse and move)</div> 

js:

var el1 = document.getElementById("test1"); 
var el2 = document.getElementById("test2"); 

el1.addEventListener("mousedown", function() { 
    el1.style.cursor = "move"; 
}); 

document.addEventListener("keydown", function() { 
    el2.style.cursor = "move"; 
}); 
+0

फैंसी एक पहेली बना रही है? –

+0

हमें अपना कोड दिखाएं एचटीएमएल/जेएस/सीएसएस – Lowkase

+0

क्या आपने जावास्क्रिप्ट के साथ कक्षाओं को हटाने के माध्यम से ऐसा करने का प्रयास किया है? भी .. आप इनलाइन स्टाइल का उपयोग क्यों कर रहे हैं? सम्मान, – Guillermo

उत्तर

1

यह बिना क्रोम में मेरे लिए काम कर रहा है माउस को ले जाएं:

var el1 = document.getElementById("test1"); 
var el2 = document.getElementById("test2"); 

el1.addEventListener("mousedown", function() { 
    el1.className += ' cursormove'; 
}); 
document.addEventListener("keydown", function() { 
    el1.style.cursor = "pointer"; 
}); 


.cursormove {cursor:move;} 

http://jsfiddle.net/ntdap5hf/4/

या मुझे कुछ याद आती है?

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