Opened 5 years ago
Closed 5 years ago
#18824 closed defect (worksforme)
"ancestor.contains is not a function" after upgrading to 1.11.1
Reported by: | paulrutter | Owned by: | |
---|---|---|---|
Priority: | undecided | Milestone: | tbd |
Component: | General | Version: | 1.11.1 |
Keywords: | Cc: | ||
Blocked By: | Blocking: |
Description
After upgrading to 1.11.1, i've found the following error to occur quite often when hovering over domNodes.
"ancestor.contains is not a function"
In dom.js line 104. I've tried to debug and found out that sometimes the "ancestor" var is not a domNode, but a Dojo widget (which does not have "contains" as a method). Please investigate this issue and provide a patch.
I will monkeypatch dom.js for now, so the "old" check is used.
https://github.com/dojo/dojo/commit/13aa0fcc89d4433f376f6b329408b4efdb55ff7b
Change History (6)
comment:2 Changed 5 years ago by
Status: | new → pending |
---|
Please attach a test case or give instructions to reproduce this against existing tests. Also, list the browser where it fails.
comment:3 Changed 5 years ago by
Status: | pending → new |
---|
Sorry, this issue got on the backlog here. I'll try to come back with a reproduction path.
comment:4 Changed 5 years ago by
Status: | new → pending |
---|
comment:5 Changed 5 years ago by
Status: | pending → new |
---|
I can reproduce it in my project, but i cannot can reproduce it with plain Dojo. So, i will investigate it and re-open if needed.
It seems to have something to do with "touch" support which calls "dom.isDescendant" with wrong parameters (a widget instead of a domNode).
comment:6 Changed 5 years ago by
Resolution: | → worksforme |
---|---|
Status: | new → closed |
OK thanks, I'd be interested to know what's causing the problem in your code. I do see the call to dom.isDescendant() in dojo/touch.js but I can't imagine why it would get passed a widget.
Patch used to workaround this issue: