模块化 JS:如何传递变量和事件

Modular JS: How to pass variables and event

我有这个 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_datethis.end_date。尝试了几种不同的方式(你看到的就是其中之一)

请帮我传递带有变量的点击事件。

        bindEvents: function() {
            this.show.onclick = this.sendData.bind(this, this.start_date, this.end_date);
        },
  1. 通过调用 click 你模拟点击按钮,而不是附加事件处理程序(这适用于 jquery 对象但不适用于 dom 元素)
  2. 要 "prepend" 除了事件本身之外,您的处理程序的一些参数使用 bind