Модульный JS: как передавать переменные и события - PullRequest
0 голосов
/ 01 мая 2018

У меня есть этот код JS:

        const getData = {

            // set vars
            start_date: <?php echo $start_ts; ?>,
            end_date:   <?php echo $stop_ts; ?>,

            init: function() {
                this.cacheDom();
                this.bindEvents();
            }, 
            cacheDom: function() {
                this.form = form;
                this.show = show;               
            }, 
            bindEvents: function() {
                this.show.click(this.sendData(this.start_date, this.end_date));
            },
            sendData: function(sdate, edate, e){
                e.preventDefault();
                // this.form.submit();
                console.log(sdate);
                console.log(edate);
            },
            render: function() {}


        }
        // run object
        getData.init();

Я пытаюсь передать this.start_date и this.end_date с событием click. Пробовал несколькими разными способами (один из них - один из них)

Пожалуйста, помогите мне передать событие click с переменными.

1 Ответ

0 голосов
/ 01 мая 2018
        bindEvents: function() {
            this.show.onclick = this.sendData.bind(this, this.start_date, this.end_date);
        },
  1. Вызывая click, вы имитируете нажатие кнопки, а не присоединяете обработчик событий (это будет работать для объекта jquery, но не для элемента dom)
  2. Чтобы добавить в обработчик некоторые параметры в дополнение к самому событию, используйте bind
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...