我有一个自定义组件,其中包含几个文本输入字段(以及其他内容),用作树中的行组件。我不得不编写自己的拖放操作,并且几乎完成了启动处理程序(我最后完成),使用mouseDown作为事件,如果关闭则启动。
它基本上可以工作,但是当树扩展到足以显示滚动条时,使用滚动条同时拖动树的一行!不是理想的行为。
查看调试器,我可以看到当拖动树的一行时,currentTarget是树本身,而目标是textInput组件。查看该组件的父级,我可以看到我的自定义组件(包含textInput)几个级别。
我的问题是,是否有一种简单的方法来确定此目标是否来自我的组件,以便只有在这种情况下我才能启动拖动?
event.target是行不通的......我有点期待,因为它不是!
谢谢,
麦克
答案 0 :(得分:1)
您可以创建一个“标记”界面(即没有方法或属性的界面),然后询问
if ( yourObject is IYourInterface) {
代码。
答案 1 :(得分:1)
使用myComponent.contains(child)
。
P.S:true
时还会返回myComponent == child
。