जे एस/JQuery:jQueryUI स्वत: पूर्ण 'का चयन करें' माउस क्लिक पर काम नहीं करता है, लेकिन महत्वपूर्ण घटनाओं पर काम करता है
$this.find('input').autocomplete({
source: "/autocomplete_tc_testcasename",
minLength: 2,
focus: function(e,ui){
$(this).val(ui.item.label);
return false;
},
select: function(e, ui) {
console.log("Selected: "+ui.item.value);
}
});
सीएसएस:
.ui-autocomplete {
max-height: 200px;
overflow-y: auto;
padding: 5px;
}
.ui-menu {
list-style: none;
background-color: #FFFFEE;
width: 50%;
padding: 0px;
border-bottom: 1px solid #DDDDDD;
border-radius: 6px;
-webkit-box-shadow: 0 8px 6px -6px black;
-moz-box-shadow: 0 0px 0px -0px black;
box-shadow: 0px 2px 2px 0px #999999;
}
.ui-menu .ui-menu {
}
.ui-menu .ui-menu-item {
color: #990000;
font-family:"Verdana";
font-size: 12px;
border-top: 3px solid #DDDDDD;
background-color: #FFFFFF;
padding: 10px;
}
समस्या का सारांश:
- AJAX ठीक काम करता है, मैं स्वत: पूर्ण मेनू में सभी प्रविष्टियों को सही ढंग से प्राप्त करता हूं।
- मैं मेनू आइटम का चयन करने के लिए कुंजी अप/डाउन तीरों का उपयोग करने में सक्षम हूं और एक बार जब मैं वापसी करता हूं, तो ईवेंट को सही ढंग से निकाल दिया जाता है और कंसोल संदेश प्रदर्शित होता है।
- मैं ui-menu-आइटम्स पर सफलतापूर्वक ध्यान केंद्रित कर सकता हूं और इनपुट टेक्स्ट के मूल्य को बदलने के लिए ईवेंट पर माउस को कैप्चर कर सकता हूं।
- मैं मेनू आइटम पर क्लिक करने और एक चुनिंदा घटना को आग लगाना प्रतीत नहीं कर सकता। यानी जब मैं मेनू आइटम पर क्लिक करता हूं, तो कंसोल संदेश कभी प्रदर्शित नहीं होता है।
- ऐसा लगता है कि क्लिक ईवेंट मेनू को खारिज कर रहा है और वास्तव में एक चुनिंदा घटना को फायर करने के बजाय इसे बंद कर रहा है। इस मुद्दे को कैसे प्राप्त करें इस पर कोई विचार है?
- मैंने इनपुट के पैरेंट div के बजाय "संलग्न करें: $ this" की कोशिश की, और फिर माउस क्लिक ठीक काम करता है! - घटना का चयन निकाल दिया जाता है और कंसोल संदेश सफलतापूर्वक प्रदर्शित होता है। लेकिन यह वही नहीं है जो मैं चाहता हूं क्योंकि मेनू को मूल div के भीतर जोड़ा गया है जो यूआई को विकृत करता है क्योंकि वे संभवतः एक ही जेड-इंडेक्स साझा करते हैं। यहां तक कि यदि मैं इस मामले में जेई-इंडेक्स को एक higehr संख्या में बदलता हूं, तो इससे काफी मदद नहीं मिली। तो मैं एक ऐसे समाधान की तलाश में हूं जहां मेरे पास ऐपेंड का उपयोग करने के लिए 'है' यदि संभव हो तो।
मुझे बॉलपार्क में कई अन्य प्रश्न मिलते हैं, लेकिन इनमें से कोई भी मेरे प्रश्न को संबोधित नहीं कर रहा है।
jQuery Autocomplete - Left Mouse Click not firing Select event
jQuery UI autocomplete select event not working with mouse click
धन्यवाद!
यह पुन: बनाने और हल करने के लिए वास्तव में मुश्किल होने जा रहा है जब तक आप http://jsfiddle.net पर आपकी समस्या का एक उदाहरण बना सकते हैं काम नहीं किया/या किसी बाहरी साइट पर एक लिंक पोस्ट करें .... – ManseUK
टिप के लिए धन्यवाद। समस्या को फायरबग करने की प्रक्रिया में, मुझे पता चला कि स्वत: पूर्ण मेनू पर माउस-क्लिक चयन से पहले 'ब्लर' ईवेंट कहा जा रहा था। एक बार जब मैंने इन घटनाओं को किसी विशेष क्रम में संभालने के लिए इसके चारों ओर तर्क बदल दिया, तो अब माउस क्लिक के माध्यम से काम करें चुनें। – rajivRaja
@txciggy: क्या आप वर्णन कर सकते हैं कि आपने "इन घटनाओं को किसी विशेष क्रम में संभालने के लिए इस चारों ओर तर्क कैसे बदल दिया"? मैं इस समस्या में भाग रहा हूं और जेएस में इवेंट हैंडलिंग का मेरा ज्ञान अभी तक मेरे लिए इसे समझने के लिए पर्याप्त नहीं है। धन्यवाद –