Opened 11 years ago

Closed 11 years ago

#9346 closed defect (invalid)

dojo.setSelectable throws an error when called on an InlineEditBox in IE

Reported by: jbarzilai Owned by: anonymous
Priority: high Milestone: tbd
Component: General Version: 1.3.0
Keywords: InlineEditBox setSelectable Cc:
Blocked By: Blocking:

Description

Originally this problem was discovered when I created a custom widget extension of the TitlePane? with an InlineEditBox? as the titleNode. When I call this.inherited the TitlePane? calls setSelectable(this.titleNode, false) and errors out. This only happens in Internet Explorer where my widget fails to load.

I traced the error to the query('*', node) that occurs in setSelectable but I don't know enough to suggest a solution.

I created the attached test page and while the page succeeds to load the error is still demonstrated. I tested the page in IE 7 and 8 and both show the error.

Attachments (1)

test_InlineEditBox_setSelectable.html (829 bytes) - added by jbarzilai 11 years ago.
Example of the error

Download all attachments as: .zip

Change History (2)

Changed 11 years ago by jbarzilai

Example of the error

comment:1 Changed 11 years ago by dante

Resolution: invalid
Status: newclosed

There is a distinction between dijits (objects) and what Dojo works on: domNodes. A Dijit is an object with a .domNode member pointing to its representation in the dom. All Dojo methods only work on domNodes (style, coords, place, etc) ... so, implicitly NOT Dijit objects, but are fine when accessing the Dijit instance's .domNode member.

Going to mark this as invalid, unless you get the same error when replacing dijit.byId('foo') with dijit.byId('foo').domNode (but even then you run the change that dijit.byId('foo') is undefined and has no .domNode member, so better checking should be in place in your code)

Note: See TracTickets for help on using tickets.