2012-07-29 5 views
12

यह एचटीएमएल 5 परिभाषाओं के तहत मान्य एचटीएमएल एक सामान्य div तत्व का एक आईडीक्या विशेषता के लिए लेबल टैग सामान्य div से जुड़े हो सकते हैं?

कृपया मुझे जाने (उदाहरण के लिए मैं एक कस्टम ड्रॉपडाउन सूची कार्यान्वयन जो एक div अंदर encased है बना दिया है) के रूप में मूल्य "के लिए" एक लेबल के उपयोग करने के लिए है यदि संभव हो तो पता है,

थॉमस

उत्तर

10

कल्पना के अनुसार नहीं:

कुछ तत्व, उन सभी को फार्म जुड़े labelable तत्व के रूप में वर्गीकृत किया गया है नहीं। ये वे तत्व हैं जिन्हें लेबल तत्व से जोड़ा जा सकता है।

"बटन" "इनपुट" (यदि प्रकार विशेषता छिपा राज्य में नहीं है) "keygen" "मीटर" "उत्पादन" "प्रगति" "का चयन करें" "पाठ क्षेत्र"

http://www.w3.org/TR/html5/forms.html#category-label

यह भी देखें:

विशेषता के लिए

साथ एक फार्म नियंत्रण जो शीर्षक जुड़े होने पर होने का संकेत देता निर्दिष्ट किया जा सकता। यदि विशेषता निर्दिष्ट है, विशेषता का मान लेबल लेबल के समान दस्तावेज़ में लेबल करने योग्य तत्व की आईडी होना चाहिए। यदि विशेषता निर्दिष्ट है और दस्तावेज़ में कोई तत्व है जिसका आईडी के मान के बराबर है, और ऐसा पहला तत्व लेबल करने योग्य तत्व, है तो वह तत्व लेबल तत्व का लेबल वाला नियंत्रण है।

http://www.w3.org/TR/html5/the-label-element.html#attr-label-for

मैं सवाल लगता है एक वैध उपयोग के मामले प्रस्तुत करता है। मुझे यकीन है कि किसका सुझाव दिया पैटर्न ऐसे परिदृश्य के लिए है नहीं कर रहा हूँ, हालांकि ARIA विशेषताओं मार्कअप और अधिक सुलभ बनाने के लिए मदद कर सकता है:

https://developer.mozilla.org/en/Accessibility/ARIA/forms/Basic_form_hints https://developer.mozilla.org/Special:Tags?tag=ARIA

+0

विस्तार करने के लिए अनुकरण कर सकते हैं एचटीएमएल 5 कल्पना से: [यह लेबल तत्व एक फार्म के नियंत्रण का उल्लेख करना चाहिए की विशेषता के लिए] (http://www.w3.org /TR/html-markup/label.html#label) – steveax

+0

धन्यवाद टिम, यह एक दिलचस्प खोज है – Thomas

+0

@steveax क्या आपके पास एक अपडेटेड लिंक है? –

2

के रूप में टिम कहा कि यह यह मूल रूप से करने के लिए संभव नहीं है, जावास्क्रिप्ट का एक छोटा सा के साथ हालांकि आप इसे

jQuery(document).delegate('[for]','click',function(e){ 
    var targetEl = jQuery('#'+jQuery(this).attr('for')); 
    if(targetEl.is('div.your-custom-dropdown-class')) { //if targetEl is one of your dropdowns 
     e.preventDefault(); 
     targetEl.trigger('click'); //open the drop down 
    } 
}); 
संबंधित मुद्दे