मैंने कुछ पाया है .myClass
होवर प्रभाव वाले तत्व और मैं चाहता हूं कि उनमें से केवल एक ही बार में होवर इवेंट का उपयोग करें ताकि मैं उपयोग करूं:
event.stopPropagation()
लेकिन मेरे पास भी है .myOtherClass
और उस हॉवर ईवेंट का भी उपयोग करने की आवश्यकता है। जब मैं उपयोग करता हूं event.stopPropagation()
यह पूरी तरह से घटना को अवरुद्ध करता है।
इवेंट के प्रचार प्रसार को कैसे अवरुद्ध करें .myClass
लेकिन इसके लिए ब्लॉक न करें .myOtherClass
?
[संपादित करें]
http://jsfiddle.net/K92Fe/ - क्लिक पर (हॉवर या जो भी) मुझे केवल आवश्यकता है one
यह बताने पर कि कौन सी कक्षा क्लिक की जाती है (चोटी एक)
उत्तर:
उत्तर № 1 के लिए 1मैं एक ही बार में तत्वों के दोनों वर्गों का चयन करते हुए आपको "मान रहा हूँ" $(".myClass, .myOtherClass")
?
यदि ऐसा है तो आप उपयोग कर सकते हैं has()
एक में if
केवल आवश्यक वर्ग के लिए रोक रोक के लिए बयान।
उदाहरण के लिए:
$(".myClass, .myOtherClass").hover(function(e) {
if ($(this).hasClass("myClass") {
e.stopPropagation();
};
// hover logic
});
अद्यतन करें
आपकी फ़ाइडल के संबंध में, आपको बस कॉल करने की आवश्यकता है stopPropagation
प्रत्येक ईवेंट हैंडलर में:
$(".a").click(function(e){
e.stopPropagation();
alert("a clicked");
});
$(".b").click(function(e){
e.stopPropagation();
alert("b clicked");
});