这段代码有什么作用? “data.target == this”

时间:2011-08-15 11:00:55

标签: javascript jquery object compare

这个data.target == this如何运作?

jquery示例

.mouseup(function(data, handler)
        {
           if(data.target == this)
           {
              // some code
           }
        })

这是通过比较各自的属性来比较对象吗?

我需要这个检查,因为我只想在父div和一个孩子上使用mouseup。

if (data.target == this || * if this has className XXX  * ) {
   // some code
}

2 个答案:

答案 0 :(得分:3)

如果if (data.target == this)引用内存中与this相同的对象,则

data.target的计算结果为true。

==运算符不会比较成员值。请参阅Object comparison in JavaScript

答案 1 :(得分:0)

由于您使用的是JQuery,因此无需担心比较。只需使用.livemouseup绑定到两个感兴趣的元素。

$(myDiv).live('mouseup',myFunction());
$(myChildElement).live('mouseup',myFunction());

您需要编写代码来处理mousedown未达到目标的情况,例如:在释放之前,用户在其他地方单击并将鼠标拖到目标上。