【问题标题】:What does this code do? "data.target == this"这段代码有什么作用? “data.target == 这个”
【发布时间】:2011-08-15 11:00:54
【问题描述】:

data.target == this 是如何工作的?

jQuery 示例

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

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

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

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

【问题讨论】:

标签: javascript jquery object compare


【解决方案1】:

如果this 引用内存中与data.target 相同的对象,则if (data.target == this) 的计算结果为真。

== 运算符不比较成员值。见Object comparison in JavaScript

【讨论】:

    【解决方案2】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2011-12-31
      • 1970-01-01
      • 2010-11-07
      • 1970-01-01
      • 2011-04-13
      • 2011-05-09
      • 1970-01-01
      相关资源
      最近更新 更多