模块化 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_date
和 this.end_date
。尝试了几种不同的方式(你看到的就是其中之一)
请帮我传递带有变量的点击事件。
bindEvents: function() {
this.show.onclick = this.sendData.bind(this, this.start_date, this.end_date);
},
- 通过调用
click
你模拟点击按钮,而不是附加事件处理程序(这适用于 jquery 对象但不适用于 dom 元素)
- 要 "prepend" 除了事件本身之外,您的处理程序的一些参数使用 bind
我有这个 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
。尝试了几种不同的方式(你看到的就是其中之一)
请帮我传递带有变量的点击事件。
bindEvents: function() {
this.show.onclick = this.sendData.bind(this, this.start_date, this.end_date);
},
- 通过调用
click
你模拟点击按钮,而不是附加事件处理程序(这适用于 jquery 对象但不适用于 dom 元素) - 要 "prepend" 除了事件本身之外,您的处理程序的一些参数使用 bind