मेरे पास मेरी छवियों और सामग्री पर 'बैक बोर्ड' है: http://syndex.me तो मूल रूप से, आप किसी छवि पर क्लिक करते हैं, यह क्लिक की गई सामग्री के ऊपर एक जानकारी पैनल ओवरले करेगा। वर्तमान में खोला जानकारी पैनल क्या .live() द्वारा संभाले जाने पर माता-पिता को प्रचारित होने वाली बाल क्लिक घटनाओं को रोकना संभव है?
- साइट की पृष्ठभूमि पर क्लिक करें:
मैं दो बातें करना चाहता हूँ जानकारी पैनल को इसके मूल कार्य को ट्रिगर किए बिना, जो फिर से फीका हुआ है।
मैं बच्चे के क्लिक के लिए stopPropagation उपयोग नहीं कर सकते माता पिता क्लिक करके ((see documentation)) अधिक्रमित किया जा रहा के रूप में मैं क्लिक ईवेंट .live द्वारा नियंत्रित किया जा करने की जरूरत है इस तथ्य यह है कि पदों गतिशील लोड किया जा रहा है के कारण है।
मैं सिर्फ इतना कहना नहीं कर सकते की तरह कुछ:। $ ("# पृष्ठभूमि") पर क्लिक करें (समारोह() {// जानकारी बोर्ड बाहर फीका} क्योंकि है कि पूरे पोस्ट आवरण द्वारा कवर किया जा रहा है, और मैं कर सकता हूँ ' टी पर एक घटना टोपी डालें क्योंकि तब मैं माता-पिता की घटनाओं को लेकर माता-पिता की दुविधा में भी गहरा हूं :-)
अभी तक मैं कम से कम एक इन्फोबवर्ड खुला हूं (यानी मैं एक छवि पर क्लिक करता हूं , फिर एक और, यह बंद हो जाएगा पहले से ही एक खोला, और वर्तमान खोल तो इस हिस्से सब अच्छा है:।
$('.theContent:not(.clicked)').live("click", function() {
$(this).children('.postInfo').fadeIn(400);
$(".clicked").each(function() {
$(this).find('.postInfo').fadeOut(400);
$(this).removeClass('clicked');
});
$(this).addClass("clicked");
});
$('.clicked').live("click", function() {
$(".clicked").each(function() {
$(this).find('.postInfo').fadeOut(400);
$(this).removeClass('clicked');
});
});
पुन .live(), .del eGate() और .stopPropogation():
के बाद से .live() विधि घटनाओं संभालती है एक बार वे दस्तावेज़ के शीर्ष करने के लिए प्रचारित किया है, यह लाइव ईवेंट के प्रसार को रोकने के लिए संभव नहीं है। इसी प्रकार, .delegate() द्वारा संचालित घटनाएं उन तत्वों के प्रचार के लिए प्रचारित होंगी जिनके लिए उन्हें प्रतिनिधि दिया गया है; डीओएम पेड़ में नीचे दिए गए किसी भी तत्व पर बाध्य घटना हैंडलर पहले से ही प्रतिनिधि कार्यक्रम हैंडलर कहलाते समय निष्पादित किए जाएंगे। इसलिए, ये हैंडलर प्रतिनिधि हैंडलर को event.stopPropagation() या झूठी लौटकर ट्रिगर करने से रोक सकते हैं।
मुझे यकीन है कि अगर यह काम करता है नहीं कर रहा हूँ, लेकिन आप की कोशिश की है 'return false;' अपने 'लाइव()' ईवेंट हैंडलर पर? – Andre
नहीं, अभी अभी किया है और इससे कोई फर्क नहीं पड़ता। यद्यपि यह गंभीर रूप से ज़ेन होगा! – RGBK
'सामान्य' जावास्क्रिप्ट में, यही वह है जो आपको करना है :) ऐसा लगता है कि ईवेंट को रोकने का कोई तरीका नहीं है। क्या आपने शायद वैश्विक वैरिएबल सेट करने और अपने एनीमेशन हैंडलर पर इसकी जांच करने का विचार किया है? – Andre