var trackDay = new Date(2013, 10, 1);
alert(trackDay);
img.addEventListener("click", function(trackDay){
alert(trackDay);
}.bind(null,trackDay),true);
trackDay.setDate(trackDay.getDate()+1);
当我希望它成为第一个值时,click事件上的此警报会生成递增日期的值。
答案 0 :(得分:1)
假设您不能/不想使用第二个变量而不是使用bind传递日期对象的字符串表示形式,并在回调函数内的该字符串中创建一个新的日期对象。
var trackDay = new Date(2013, 10, 1);
alert(trackDay);
img.addEventListener("click", function(trackDay){
var date = new Date(trackDay);
alert(date);
}.bind(null,trackDay.toString()),true);
trackDay.setDate(trackDay.getDate()+1);
答案 1 :(得分:0)
jsfiddle能做你想做的吗?
HTML:
<img src="http://placekitten.com/100/100" />
JavaScript的:
(function () {
'use strict';
var img;
function trackDay (val) {
return function () {
alert(val);
val += 1;
}
}
img = document.getElementsByTagName('img')[0];
img.addEventListener("click", trackDay(0), true);
}());