एक आईफोन है और एक छिपे इनपुट पर change
घटना पकड़ने की जरूरत है। पीसी पर खोले जाने पर, यह काम करता है, मैं changed
पाठ देखता हूं। यदि मैं इसे किसी आईफोन पर खोलता हूं तो यह अपेक्षित काम नहीं करता है, मैं बस open dialog
देखता हूं।आईफोन की सफारी ट्रिगर ने इनपुट प्रकार = फ़ाइल पर ईवेंट क्यों नहीं बदला?
सरल jsfiddle demonstrates this।
<input type=file style="display:none" id=file>
<button type=button id=but>open</button>
<div id=out>
</div>
और
$(document).ready(function(){
$('#but').on('click touchend', function(){
$('#out').text('open dialog');
$('#file').click();
});
$('#file').on('change', function(evt) {
$('#out').text('changed');
});
});
इसके साथ क्या गलत है? क्या यह आईओएस का एक नया बग है? अफैक, यह सिर्फ एक महीने पहले काम किया था।
मैं opacity:0
साथ hidden
को बदलने के लिए कोशिश की, यह आसान jsfiddle के लिए काम करता है, लेकिन साइडबार छुपा के साथ जटिल परियोजना में काम नहीं करता। सवाल निम्नलिखित है। एक साधारण फिक्स कैसे करें और हाल ही में क्या बदल गया है (कुछ सफारी अपडेट?), जिससे छुपा इनपुट व्यवहार में परिवर्तन हुआ?
प्रयास करें प्रदर्शन को हटाने: कोई नहीं सीएसएस स्टाइल, अगर यह अस्पष्टता की कोशिश काम करता है: बजाय 0, सीएसएस शायद कार्रवाई को रोकने –
हम्म (मैं अतीत में मानते हैं कि यह एक मुद्दा था)। चाल आईफोन 5 एस पर सफारी और क्रोम के लिए काम करती है। यह बाइट क्या है? –
क्या आप इसे आईफोन ब्रॉवर्स में या एंड्रॉइड के वेबव्यू जैसे कुछ में चला रहे हैं? अगर मैं आपको सही समझता हूं तो आप चाहते हैं कि लोग एक फाइल अपलोड कर सकें? लेकिन यह खुशी नहीं करता है कि यह फ़ाइल प्रबंधक को नहीं खोलता है? मैं सही हूँ या मैं इसे गलत समझ रहा हूँ? – Steven