2016-09-21 6 views
21

मैकोज़ सिएरा में सफारी 10.0 के माध्यम से परिवर्तन पर छिपा हुआ प्रतीत होता है कि इनपुट इनपुट में प्लेसहोल्डर जिस तरह से इनपुट मान बदलता है, जावास्क्रिप्ट के माध्यम से बदलता है। यह अब भी क्रोम (53.0.2785.116) से अलग है।सफारी 10 में नया इनपुट प्लेसहोल्डर व्यवहार - अब जावास्क्रिप्ट

अब तक, जावास्क्रिप्ट के माध्यम से इनपुट मान सेट करते समय प्लेसहोल्डर गायब हो जाएगा। जावास्क्रिप्ट के माध्यम से मूल्य को वापस खाली करने के बाद, प्लेसहोल्डर फिर से दिखाई देगा।

अब, जावास्क्रिप्ट के माध्यम से इनपुट मान सेट करना प्लेसहोल्डर को तब तक छिपाता नहीं है जब तक कि इनपुट लाभ बाद में फोकस न हो (उदा। क्लिक किया जा रहा हो)।

चेक यह एक डेमो के लिए बिन JS: https://jsbin.com/rogoludahu/edit?html,js,output

इस अभिप्रेत व्यवहार है? यदि हां, तो क्या जावास्क्रिप्ट के माध्यम से बदलाव के बाद प्लेसहोल्डर को छिपाने/खोलने के लिए एक चालाक कामकाज है?

संपादित करें: यह अब rdar में दायर की गई है: // 28,412,751 सफारी 10 और सफारी टैक्नोलॉजी प्रीव्यू के लिए।

+2

मैं एक ही व्यवहार देखा! मेरे लिए, यह एक बग प्रतीत होता है –

+3

सबसे अधिक संभावना एक बग। इसके बजाय ठीक करने के लिए हैकी तरीका एक अस्थायी समाधान के रूप में मूल्य को दो बार सेट करना है https://jsbin.com/qiloyuxura/1/edit?html,js ,output –

+0

इसे आजमाएं: document.getElementById ("myInput")। SetAttribute ('मान', "नया मूल्य"); –

उत्तर

2

यह सफारी प्रौद्योगिकी पूर्वावलोकन रिलीज 37 (सफारी 11.1, वेबकिट 12605.1.2) के साथ-साथ नियमित सफारी संस्करण 11.0.3 (वेबकिट 13604.5.6) में हल किया गया है।

5

मैं आज इस समस्या में भाग गया। जहां तक ​​मैंने देखा है, कोई अच्छा समाधान नहीं है। मेरा हैकी वर्कअराउंड .focus() पर कॉल करना था और उसके बाद मूल्य पर जितनी जल्दी हो सके तत्व पर .blur() पर कॉल करना था।

0

this Apple thread के अनुसार (और मेरे सहकर्मियों में से एक ने इस बात की पुष्टि), यह केवल एक मुद्दा है, तो आप Javascript कंसोल खोल दिया है है। तो, आपको शायद कामकाज के बारे में चिंता करने की ज़रूरत नहीं है!

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