将以前的event.target.id存储在变量中

时间:2014-09-12 18:57:51

标签: javascript jquery dojo

我处于这样一种情况,我需要跟踪之前点击的触发点击事件的event.target.id。

我的代码的一个非常简单的例子如下(我正在使用dojo和jQuery):

on(dom.byId("div-tools-draw"), "click", function (evt) {
    var lastActiveTool = evt.target.id;
}

此代码会使用当前事件ID覆盖lastActiveTool变量。但是,我需要一种方法来跟踪前一个。

对不起,如果这是一个愚蠢的问题,我还在学习JS。

2 个答案:

答案 0 :(得分:1)

var lastActiveTool;

on(dom.byId("div-tools-draw"), "click", function (evt) {
   //do whatever you want with previous value if there is one
   lastActiveTool = evt.target.id;
}

答案 1 :(得分:1)

首先,你不应该在函数中声明你的变量,因为它只能在该函数内部访问,并且因为它是一个匿名函数,所以每次函数都会销毁它。已经完成了。

var lastActiveTool;
on(dom.byId("div-tools-draw"), "click", function (evt) {
    if(typeof lastActiveTool !== 'undefined'){
        //Do what you need to do with the last id. Add an else if you want something special to happen when the first element is clicked and there is no previous id.
    }
    lastActiveTool = evt.target.id;
}