0

In the code below,

body.on(event, bindSelector, callback);

I passed callback as reference to this function (kit.callback.renderPage).

I want (kit.callback.renderPage) to accept arguments as well. How do I pass maybe an object as argument from init() function below?

jQuery(document).ready(function($) { 

    (function(send, config) {

        var kit = {
            selectors: {
                "body": "body",
                "start": "[data-ckit-toggle-on]"
            },

            callback: {

                 renderPage : function() {
                    console.debug('opt');
                 }
            },


            getSelectors: function(selector) {
                return $(selector);     
            },

            init: function() {

                kit.bindNow(
                    kit.events.chatToolbar,
                    kit.selectors.body, 
                    kit.selectors.start, 
                    kit.callback.renderPage
                );


            },  

            bindNow: function(event, bindTo, bindSelector, callback) {
                var body = kit.getSelectors(bindTo);
                body.on(event, bindSelector, callback);
            }
        };

        //starting point
        kit.init(); 
    })(interface, settings);
});
112233
  • 2,406
  • 3
  • 38
  • 88
  • This post could probably helps you : http://stackoverflow.com/questions/3458553/javascript-passing-parameters-to-a-callback-function – Julien Bourdic Oct 11 '16 at 08:59

1 Answers1

3

You can wrap your callback inside an inline/anonymous function, eg:

bindNow: function(event, bindTo, bindSelector, callback) {
            var body = kit.getSelectors(bindTo);
            body.on(event, bindSelector, function() { 
                callback.call(this, param1, param2);
            });
         }

or

kit.bindNow(
            kit.events.chatToolbar,
            kit.selectors.body, 
            kit.selectors.start, 
            function() { 
                kit.callback.renderPage.call(this, param1, param2);
            }
        );

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/call

freedomn-m
  • 27,664
  • 8
  • 35
  • 57