2012-04-30 16 views
5

मैं 2 बटनjQuery, जोड़ने और हटाने के ईवेंट हैंडलर्स

$(".button1").on("click", function(event){ 
$(".button2").on("click", function(event){ 

है मुझे क्या करना चाहते हैं Button1 के साथ शुरू के रूप में क्लिक किया और किसी भी स्थिति श्रोता है, जब Button2 क्लिक किया जाता है घटना श्रोता हटा दिया और है बटन 1 के लिए ईवेंट श्रोता सक्रिय है।

यह एक सामान्य आम तकनीक है जो action removeEventListener() के साथ actioncript 3 में है और jquery में एक समान विधि या तकनीक का उपयोग करना चाहती है।

उत्तर

7

आप एक ईवेंट हैंडलर jQuery.on साथ बाध्य निकालना चाहते हैं तो आप शायद jQuery.off

http://api.jquery.com/off/

5

on() विधि बाँध घटना और off() यह निकल चाहते हैं। यदि आप off() पर पैरामीटर देते हैं तो यह केवल आपूर्ति की गई ईवेंट को अनबाइंड करेगा, लेकिन बिना पैरामीटर के सभी ईवेंट को अनबाइंड करें।

$('.button1').on('click', function() { 
     console.log('button1'); 
     $(this).off('click'); 
     $('.button2').on('click'); 
    }) 
    $('.button2').on('click', function() { 
     console.log('button2'); 
     $(this).off('click'); 
     $('.button1').on('click'); 
    }) 
0

यह है कि मैं क्या है, लेकिन उस पर घटना श्रोता वापस रख नहीं है

$(".slide1").on("click", function(){ 
    $(this).addClass('on'); 
    $('.slide2').removeClass('on'); 
    $(this).off('click'); 
    $('.slide2').on('click'); 
}); 

$(".slide2").on("click", function(){ 
    $(this).addClass('on'); 
    $('.slide1').removeClass('on'); 
    $(this).off('click'); 
    $('.slide1').on('click'); 
}); 
संबंधित मुद्दे