2016-09-23 12 views
13

मुझे जावास्क्रिप्ट का उपयोग करते हुए आईओएस पर कीबोर्ड टैब तीरों को अक्षम करने की आवश्यकता है या यहां तक ​​कि एक वेब आधारित ऐप मेटा टैग भी है।आईओएस कुंजीपटल टैब तीरों को अक्षम करता है

मैं कुछ ही विकल्प की कोशिश की है लेकिन जब यह मेनू का चयन करने के लिए आता मुद्दों में भाग लिया है।

मैं भी सभी टैबिन्डेक्स से -1 को वापस नहीं कर सकता क्योंकि यह डेस्कटॉप और अन्य उपकरणों पर टैब-क्षमता को नुकसान पहुंचाता है।

किसी भी मदद की सराहना की जाएगी।

यह मैं केवल पढ़ने के लिए कूद क्षेत्रों के लिए क्या किया की एक excample है।

$(document).ready(function() { 
 

 
    $('input, textarea, select').on('focus', function() { 
 
    $('input, textarea').not(this).attr('readonly', 'readonly'); 
 
    $('select').not(this).attr("disabled", "disabled"); 
 
    }); 
 

 
    $('input, textarea, select').on('blur', function() { 
 
    $('input, textarea').removeAttr("readonly"); 
 
    $('select').removeAttr("disabled"); 
 
    }); 
 

 
});

+0

आप मोबाइल सफारी में इस के साथ मुसीबतों है? – pedrouan

+0

@pedrouan हां दोस्त। – DCdaz

उत्तर

7

मुझे वास्तव में ऐसा करने का एक तरीका मिला जो काफी समय से काम करता है।

मैं क्या कर रहा हूँ आईओएस केवल उपकरणों पता लगा रहा है और फिर इनपुट क्षेत्रों पर टैब को अक्षम करने

मुझे लगता है मैं एक कदम और आगे जाने के लिए और आईओएस और सफारी का पता लगा सकता लगता है।

$(document).ready(function() { 
 
    // Detect IOS 
 
    if (navigator.userAgent.match(/(iPod|iPhone|iPad)/)) { 
 

 
    // Only active input fields in use 
 
    $('input, textarea').on('focus', function() { 
 
     $('input, textarea').not(this).attr("readonly", "readonly"); 
 
    }); 
 
    $('input, textarea').on('blur', function() { 
 
     $('input, textarea').removeAttr("readonly"); 
 
    }); 
 

 
    // Disable tabing to select box's 
 
    $('select').attr('tabindex', '-1'); 
 
    } 
 
});

1

यह एक मुद्दा है कि एक एचटीएमएल विशेषता, मेटा टैग की स्थापना या विशेष आयोजनों को सुनने के द्वारा हल नहीं किया जा सकता है (वहाँ जो तीर के लिए किसी भी स्थिति है ...)।

एकमात्र विकल्प फॉर्म में सभी अन्य इनपुट को अक्षम करना है जब इनपुट केंद्रित होता है ताकि टैब में कोई इनपुट न हो।

इसके बजाय इस कोड लिखने और पहिया पुनर्रचना की

, यहाँ एक jQuery मॉड्यूल पहले से ही इस करता है कि के लिए एक लिंक है: https://github.com/ChrisWren/touch-input-nav/blob/master/touch-input-nav.js वहाँ नहीं है: https://github.com/ChrisWren/touch-input-nav

आप एक शुद्ध js समाधान चाहते हैं, एक नज़र में है वह कोड जिसे पुनर्लेखन की आवश्यकता है ताकि यह कोई मुद्दा न हो।

+0

वह अन्य फॉर्मों को टैबबिंग रोकने के लिए इनपुट फ़ील्ड नहीं है। – DCdaz

+0

@ डीसीडीएज़, आह मेरे बुरे, यह देखने में प्रसन्नता हुई कि आप एक वर्कअराउंड खोजने में कामयाब रहे: डी दुख की बात है कि टच कीबोर्ड के लिए कोई आधिकारिक एपीआई नहीं है:/ – seahorsepip

+0

धन्यवाद दोस्त, पोस्टिंग के लिए धन्यवाद। – DCdaz

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