繁体   English   中英

模块化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();

我正在尝试通过click事件传递this.start_datethis.end_date 尝试了几种不同的方式(您所看到的是其中之一)

请帮助我通过变量传递click事件。

        bindEvents: function() {
            this.show.onclick = this.sendData.bind(this, this.start_date, this.end_date);
        },
  1. 通过调用click您正在模拟按钮的单击,而不是附加事件处理程序(这对jquery对象有效,但对dom元素无效)
  2. 除了事件本身之外,要在处理程序中“添加”一些参数,请使用bind

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM