2013-08-26 174 views
-1

我试图使用$。载有()函数,但我发现虚假每次:

$.contains(openedParent, event.target); //evaluates to false 
$.contains(event.target, event.target); //evaluates to false 

据我所知event.target是DOM元素。

这里是的jsfiddle的完整代码:

http://jsfiddle.net/xQyAm/

我将不胜感激,如果有人能告诉如何解决这一问题。谢谢 !

+0

什么是'openedParent'?请在帖子中添加**完整的**示例。 –

+1

'.contains()'只适用于后代。一个DOM节点不能是它自己的后代,因此不能.contains()本身。 –

+0

我试图想到一个逻辑测试。 – gskema

回答

2

ReferenceError: event is not defined @http://fiddle.jshell.net/_display/:44

你忘了添加event为回调函数的第一个参数。

此外,$.contains()预计这两个参数的DOM元素 - 但您传递一个jQuery对象作为第一个参数。这样的改变也修复了整个问题:

$("#info").text("box1 contains box2 ? " + $.contains(openedParent[0], event.target)); 

更新小提琴:http://jsfiddle.net/xQyAm/2/

+0

那么......太局限/ RTFD问题了? –

+0

是的,有点... – ThiefMaster

+0

这是行得通的,谢谢! – gskema

相关问题