में अपेक्षित के रूप में काम नहीं कर रहे बटन पर jQuery ईवेंट बुलबुले मेरे पास <button>
तत्व है जिसके अंदर मेरे पास 2 <span>
तत्व हैं। मेरे पास प्रत्येक अवधि तत्वों के लिए 2 संलग्न jquery क्लिक ईवेंट हैंडलर हैं, इसलिए मैं प्रत्येक क्लिक के लिए जो भी चाहूं कर सकता हूं। यहाँ बुनियादी कोड का एक संक्षिप्त वर्णन दिया गया:फ़ायरफ़ॉक्स
एचटीएमएल
<button>
<span>Text1</span>
<span>Text2</span>
</button>
जावास्क्रिप्ट
$(function() {
$('button').bind('click', function() {
console.log('button clicked');
});
$('button > span:eq(0)').bind('click', function() {
console.log('text1 span clicked');
});
$('button > span:eq(1)').bind('click', function() {
console.log('text2 span clicked');
});
});
यह क्रोम में सभी ठीक काम कर रहा है और क्लिक करें घटना को सही क्रम में कब्जा कर लिया है : पहले किसी भी अवधि तत्वों पर और फिर ईवेंट पैरेंट बटन तत्व पर बुलबुले।
समस्या यह है कि फ़ायरफ़ॉक्स में क्लिक ईवेंट किसी भी अवधि के तत्वों के लिए आग नहीं लगाता है, बस बटन ईवेंट हैंडलर ईवेंट को निकाल दिया जाता है।
यहाँ एक बेला, ताकि आप देख सकते हैं कि मैं क्या मतलब है: http://jsfiddle.net/spider/RGL7a/2/
धन्यवाद
मुझे लगता है कि यह कभी हल नहीं हुआ था? – Shane
@Shane दुर्भाग्यवश कोई और मैंने जो देखा है उससे कभी नहीं हो सकता है, क्योंकि यह अभी भी नवीनतम फ़ायरफ़ॉक्स संस्करण में काम नहीं करता है। बूटस्ट्रैप जैसे फ्रेमवर्क [दो अलग-अलग बटन] (http://getbootstrap.com/components/#btn-dropdowns-split) का उपयोग कर ऐसा करते हैं। और फाउंडेशन या वाईयूआई जैसे अन्य ढांचे इस ** स्प्लिट बटन ** कार्यक्षमता ([फाउंडेशन उदाहरण] (http://foundation.zurb.com/docs/components/split_buttons.html) और [YUI उदाहरण) को अनुकरण करने के लिए पूरी तरह से अन्य मार्कअप का उपयोग करते हैं। ] (http://yuilibrary.com/yui/docs/node-menunav/node-menunav-4.html))। – Bogdan
मैं आमतौर पर इस तरह की कार्यक्षमता के लिए बूस्ट्रैप का उपयोग करता हूं और जहां यह कोई विकल्प नहीं है, मैं अपनी रणनीति का उपयोग करता हूं क्योंकि यह मार्कअप अर्थात् के मामले में सबसे अच्छा लगता है। – Bogdan