2011-11-19 7 views
12

मैं एक jQuery यूआई बटनसेट (कुछ रेडियो बटनों के आधार पर) का उपयोग कर रहा हूं। सबकुछ ठीक से काम करता है सिवाय इसके कि कभी-कभी जब आप किसी एक बटन पर क्लिक करते हैं तो कुछ भी नहीं होता है (जैसे कि आपने इसे कभी भी क्लिक नहीं किया था)। मैं शायद सोचा था कि यह शायद मेरी कार्यान्वयन के साथ एक समस्या तो मैं डेमो साइट के लिए चला गया था:jQuery यूआई - बटनसेट बटन हमेशा पहले क्लिक नहीं करते हैं

http://jqueryui.com/demos/button/#radio

और विभिन्न विकल्पों के बीच flipping आसपास क्लिक कुछ समय बिताया। मुझे भी यही समस्या थी! यादृच्छिक रूप से क्लिक को नजरअंदाज कर दिया जाएगा!

मैं इस साइट भर में आया था:

http://www.filamentgroup.com/lab/styling_buttons_and_toolbars_with_the_jquery_ui_css_framework/

कौन सा अपने स्वयं के संस्करण लुढ़का हुआ है और मैं एक ही मुद्दे को दोहराने में असमर्थ था। जो मुझे विश्वास दिलाता है कि jQuery UI कार्यान्वयन के साथ कुछ मामूली quirk है?

क्या किसी ने इसे देखा है? मैंने कुछ अन्य लोगों को एक ही समस्या रखने की कोशिश करने में कुछ समय बिताया और इसका कोई उल्लेख नहीं मिला। क्या कोई और एक ही मुद्दा देखता है?

उत्तर

8

यह मेरे लिए भी होता है।

मुझे लगता है कि समस्या यह है कि बटन पर क्लिक करते समय आपको अपना माउस अभी भी पकड़ना होगा, या यह काम नहीं करेगा।

उदाहरण के लिए, धीमे, स्थिर गति पर अपने माउस को ले जाने के दौरान बटन क्लिक करने का प्रयास करें। बटन तब तक काम नहीं करेगा जब तक कि माउस मुश्किल से चल रहा न हो। बटन को खींचने का प्रयास करें, फिर भी एक पिक्सेल, फिर रिलीज़ करें।

इस समस्या से बचने के लिए आप जिस साइट पर आए थे, वह mousedown का उपयोग करने लगता है। वे jQuery UI के पुराने संस्करण का भी उपयोग कर रहे हैं, जो एक कारक हो सकता है।

+1

यहाँ एक ही है, यह भयानक है! क्या इस पर एक jquery बग है? – ack

+0

या ऐसा लगता है: http://bugs.jqueryui.com/ticket/5454 –

+1

@ नदीर मुजफ्फर मुझे लगता है कि यह विवरण कैप्चर करने के लिए एक बेहतर बग अनुरोध है: http://bugs.jqueryui.com/ticket/7665 – Brombomb

7
$("#radio").buttonset(); 
$("#radio").find("label").unbind("mouseup"); 

क्योंकि jQuery स्रोत कोड में है:

.bind("mouseup" + this.eventNamespace, function(event) { 
    if (options.disabled) {return; } 
    if (startXPos !== event.pageX || startYPos !== event.pageY) { 
        clickDragged = true; 
    } 
} 
+0

मैंने इस कामकाज की कोशिश की - यह काम करता है: जब मैं क्लिक करते समय माउस ले जाता हूं, बटन स्थिति अभी भी स्विच हो जाती है। धन्यवाद! – Kel

+0

यह क्रोम और आईई के लिए अच्छा काम करता है, लेकिन ऊपर पोस्ट किए गए लिंक को पढ़ने के दौरान मैंने [link] (http://bugs.jqueryui.com/ticket/7665) में एक टिप्पणी देखी है कि इसे फ़ायरफ़ॉक्स के व्यवहार से करना है विशेष। परीक्षण में मैंने पाया कि अनबिंड काम के आसपास फ़ायरफ़ॉक्स में अजीब और प्रतिकूल प्रभाव पड़ता है। – Nato

+0

दुर्भाग्यवश, फ़ायरफ़ॉक्स पर यह सब भ्रम पैदा हुआ था कि यह काम करता है (इनपुट ग्राफिक परिवर्तन लेकिन परिवर्तन घटना को ट्रिगर नहीं करता है) – pete

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