2011-11-10 15 views
8

http://jsfiddle.net/danielcgold/SYgzJ/इनपुट क्षेत्र छोड़ने कलाकृतियों

आप इनपुट पर क्लिक करते हैं तो कलंक पर जाना, कलाकृतियों स्क्रीन क्रोम 15. में मैं पहली बार एक साइट पर इस मुद्दे पर ध्यान पर छोड़ दिया जाता है मैं मैं विकास कर रहा हूं इसलिए मैंने सबकुछ हटा दिया लेकिन इनपुट क्षेत्र और एक बटन। जब मैं बटन हटा देता हूं, तो संक्रमण ठीक होता है। कोई विचार?

+1

शायद एक क्रोम प्रतिपादन बग। – Kyle

+0

मेरे पास बटन के बिना भी है, अजीब –

+1

निश्चित रूप से एक रेड्रा/पेंट बग। – c69

उत्तर

11

प्रदर्शित करने के लिए अपने इनपुट क्षेत्र को यह CSS जोड़ है:

input { 
    -webkit-transform: translate3d(0,0,0) 
} 

यह आपके GPU का उपयोग करने के लिए सभी प्रतिपादन जो कलाकृतियों समस्या का समाधान होगा करने के लिए क्रोम के लिए बाध्य करेगा और अपने एनिमेशन को परेशान करें।

+0

यह काम किया। जब मैंने इस शैली को अपने स्टाइल ब्लॉक पर लागू किया जहां मैंने अपने सभी संक्रमणों को सेट किया, तो उसने मेरे लेआउट में कुछ तोड़ दिया। मैंने बस इस संपत्ति को एक वर्ग के माध्यम से सेट किया और यह काम किया! – Dan

+1

इससे कोई अन्य समस्या हो सकती है: जेड-इंडेक्स को गड़बड़ कर दिया जा सकता है। [इसे संभालने के लिए यहां देखें] (http://stackoverflow.com/questions/6953497/webkit-transform-overwrites-z-index-ordering-in-chrome-13)। –

+0

कमाल !! धन्यवाद! – thinklinux

3

यह क्रोम के सीएसएस संक्रमणों के प्रतिपादन में एक बग है। लेकिन आप तत्व "ताज़ा करें" ऑपरेशन को मजबूर कर इसे काम कर सकते हैं। कृपया ध्यान दें कि आप input तत्व नहीं ताज़ा करने की आवश्यकता है, लेकिन यह माता पिता है, तो निम्न कोड तुम्हारी मदद करेगा:

$(document).ready(function(){ 
    $('#test').blur(function(){ 
     $(this).parent().addClass('repaint'); 
    }); 
    $('#test').focus(function(){ 
     $(this).parent().removeClass('repaint'); 
    }); 
}); 

और repaint वर्ग माता पिता के दृश्य से संबंधित कुछ है चाहिए, उदाहरण के अलग रंग के लिए:

.repaint { 
color: red; 
} 

लेकिन आप colorvisibility या अन्य दृश्य-संबंधित (लेकिन माता-पिता के लिए महत्वपूर्ण/दृश्यमान नहीं) के साथ प्रतिस्थापित कर सकते हैं।

यहाँ jsfiddle वैकल्पिक हल

+0

उत्कृष्ट विचार +1 – Jashwant

+0

यह काम नहीं किया, मैंने एनिमेटेड तत्व के साथ-साथ 'jQuery' कॉलबैक के साथ-साथ 'वादा()।() '' Translate3d' समाधान का उपयोग करके शरीर को लागू करने का प्रयास किया ... –

0

मैं सफारी में बॉक्स छाया कलाकृतियों के साथ एक समान समस्या थी, और ध्यान शासन समस्या तय करने के लिए -webkit-transform:scale(1); जोड़ने पाया।

http://jsfiddle.net/SYgzJ/48/ देखें - यह अब ठीक काम करना चाहिए।

के रूप में सीजर ने कहा, -webkit-transform: translate3d(0,0,0); इसे ठीक होगा, लेकिन यह भी पाठ प्रतिपादन प्रभावित कर सकते हैं।

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