2016-03-09 8 views
8

मैं एक डातालिस्ट के ढेर तत्व का वर्तमान मूल्य प्राप्त करने का प्रयास कर रहा हूं। इसलिए यदि मैं इसमें मूल्यवान के साथ डातालिस्ट खोलता हूं और बस अपने माउस को उनके ऊपर ले जाता हूं, तो मैं मानकों को कंसोल में दिखाना चाहता हूं। यहाँडेटलिस्ट ऑनहोवर से वर्तमान मूल्य प्राप्त करें

<input list="browsers" id="browser"> 
<datalist id="browsers"> 
    <option value="Internet Explorer"> 
    <option value="Firefox"> 
    <option value="Chrome"> 
    <option value="Opera"> 
    <option value="Safari"> 
</datalist> 

$("#browsers").on("mouseover", function() { 
    console.log($(this).value()); 
}); 

और एक बेला है:

यह मेरा प्रयास है https://jsfiddle.net/sshcvr5q/

+0

एमडीएन और डब्ल्यू 3 – mike

उत्तर

3

मुझे यकीन नहीं है कि यह संभव होने जा रहा है। डाटलिस्ट विकल्प, जबकि मुख्य दस्तावेज़ डीओएम पेड़ में अभी भी दिखाई देते हैं, के हिस्से के रूप में क्लोन और encapsulated प्राप्त करें, और जैसा कि मूल दस्तावेज़ से उपलब्ध नहीं है। यह इन छायांकित छाया डोम नोड्स है जो आप वास्तव में होवर कर रहे हैं (निश्चित रूप से क्रोम में वैसे भी), और मुख्य डोम पेड़ में मूल नोड mouseover या hover ईवेंट के साथ ट्रिगर नहीं होता है जब आप छाया डोम नोड्स पर होवर करते हैं।

आप अपने JSFiddle उदाहरण में डोम पेड़ निरीक्षण करने के लिए Chrome DevTools का उपयोग करते हैं, तो आप समझाया डोम पेड़ की छाया रूट देख सकते हैं:

Shadow DOM for input

अधिक जानकारी के लिए एक और स्टैक ओवरफ़्लो सवाल से this explanation देखें आप मूल दस्तावेज़ से छाया डोम पर घटनाओं के बारे में क्यों नहीं सुन सकते हैं।

+0

के अनुसार एचटीएमएल डाटलिस्ट टैग के लिए 'मूसओवर, होवर' कार्यक्रम नहीं है, आप किस क्रोम संस्करण का उपयोग कर रहे हैं? मुझे अपने क्रोम देव उपकरण में '# छाया-रूट (उपयोगकर्ता-एजेंट) 'नहीं मिला .. –

+0

@ Z.Z। संस्करण 48.0.2564.116 (64-बिट) – toomanyredirects

+0

मुझे लगता है कि मैंने ऐसा नहीं देखा क्योंकि मैं संस्करण 49.0.2623.87 मीटर का उपयोग कर रहा हूं .. –

-1

मुझे लगता है कि आप $("#browser") और नहीं $("#browsers")

जाँच करने के लिए है लेकिन वैसे भी आप onchange पर मूल्य प्राप्त होगा बेहतर :)

सम्मान

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