2011-09-07 7 views
5

प्लगइन के अंदर क्लिक ईवेंट कैसे प्रबंधित करते हैं? एक सरल वर्णन यह है कि मैं एक प्लगइन रखना चाहता हूं जो एक क्लिक का पता लगाएगा और फिर एक और तत्व अपडेट करेगा।आप एक jQuery प्लगइन के अंदर क्लिक घटनाओं को कैसे संभालते हैं?

उदाहरण उपयोग:

$("#some_id").myPlugin("another_id");

उदाहरण प्लगइन:

(function($){ 

    $.fn.myPlugin=function(update_id){ 

    .click({$(update_id).html("content_upated");}); 

    } 

})(jQuery); 

मैं कैसे प्लगइन अंदर .click घटना कोड करने के लिए समझ में नहीं आता। कोई भी उदाहरण उपयोगी होगा। धन्यवाद।

उत्तर

13

आप दो काम करने चाहिए निम्नलिखित

(function($){ 

    $.fn.myPlugin = function(update_id) { 

     this.bind("click.myPlugin", function() { 
     $(update_id).html("content_upated"); 
     }); 

    }; 

})(jQuery); 
आज़माएं

आपको jQuery प्लगइन को सही ढंग से विकसित करने के तरीके के बारे में अधिक जानकारी के लिए jQuery plugin authoring पर पृष्ठ को पढ़ना चाहिए। आप तर्कसंगत वस्तु स्वीकार करने जैसे अन्य महत्वपूर्ण विवरण खो रहे हैं।

+3

+1 निश्चित रूप से एक अच्छा विचार है। प्लगइन को एक ही तत्व पर कई बार कॉल करने के मामले में डुप्लिकेट इवेंट हैंडलर को रोकने के लिए इसे बाध्य करने से पहले मेरा एकमात्र सुझाव 'unbind() 'समान नामांकित ईवेंट है। –

+0

@ मैट उत्कृष्ट सलाह – meagar

+0

इस पर +1 नाम के रूप में नामित करने के साथ-साथ मैंने भी अच्छा जवाब नहीं दिया था। – Kasaku

-1
(function($){ 
    $.fn.myPlugin=function(update_id){ 
     this.click(function(){ $(update_id).html("content_upated"); }); 
    } 
})(jQuery); 

सुनिश्चित करें कि update_id एक वैध चयनकर्ता है।

+0

जो भी मुझे कम करता है, क्या आप कृपया बता सकते हैं कि –

+6

शायद इसलिए कि आपने अपने उत्तर में कुछ भी समझाने का समय नहीं लिया है, इसलिए यह शायद ही कोई जवाब है। यह अधिक महत्वपूर्ण है कि आप निश्चित कोड को पोस्ट करने के बजाय * क्यों * और * कैसे * आपने कुछ तय किया है। घटना नामस्थान का उपयोग कर – meagar

0

आप मिलान किए गए तत्वों पर पुनरावृत्त करने के लिए .each() का आह्वान करेंगे, या आप नियमित jQuery विधि के माध्यम से संलग्न कर सकते हैं। तत्वों अपने प्लगइन लागू किया

  • Namespace your events की जा रही है जो करने के लिए संदर्भ के लिए

    1. उपयोग this, तो वे बाद में आसानी से किया जा सकता है अनबाउंड

    :

    (function($) 
    { 
        $.fn.myPlugin = function(anotherIdentifier) 
        { 
          // this.click is equivalent to $(identifier).click() 
          this.click(function() 
          { 
           // Thing to do 
          }); 
        }; 
    })(jQuery); 
    
  • 1

    उपयोग this कि प्लगइन पर लागू की जा रही है वस्तु का उपयोग करने की:

    (function($){ 
        $.fn.myPlugin=function(update_id){ 
         this.click(function() { $(update_id).html("content_upated"); }); 
        } 
    })(jQuery); 
    

    ध्यान रखें कि आपके उपयोग, इस उदाहरण में आईडी चयनकर्ता शामिल करने के लिए की आवश्यकता होगी या आप अपनी क्लिक में शामिल करने की आवश्यकता होगी समारोह:

    $("#some_id").myPlugin("#another_id"); 
    
    0
    (function($){ 
        $.fn.myPlugin=function(update_id){ 
         this.click(function(){ $(update_id).html("content_upated"); }); 
        } 
    })(jQuery); 
    

    यकीन update_id एक वैध चयनकर्ता है।

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