这个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
}
答案 0 :(得分:3)
if (data.target == this)
引用内存中与this
相同的对象,则 data.target
的计算结果为true。
==
运算符不会比较成员值。请参阅Object comparison in JavaScript。
答案 1 :(得分:0)
由于您使用的是JQuery,因此无需担心比较。只需使用.live
将mouseup
绑定到两个感兴趣的元素。
$(myDiv).live('mouseup',myFunction());
$(myChildElement).live('mouseup',myFunction());
您需要编写代码来处理mousedown未达到目标的情况,例如:在释放之前,用户在其他地方单击并将鼠标拖到目标上。