Skip to main content

Search and Top Navigation

#6201 closed bug (fixed)

Opened October 19, 2010 11:58AM UTC

Closed October 27, 2010 01:19PM UTC

Last modified November 19, 2010 06:26PM UTC

Autocomplete: Broken menu in IE8 Standards Mode when including prototype framework

Reported by: unt01d Owned by:
Priority: major Milestone: 1.8.6
Component: ui.autocomplete Version: 1.8.4
Keywords: Cc:
Blocked by: Blocking:
Description

The autocomplete plugin doesn't work in IE8 Standards Mode when including the prototype framework and using jQuery.noConflict(). The javascript error "Object doesn't support this property or method" is displayed when attempting to display the results list. Note this is only an issue in these specific circumstances - switching to Compatibility Mode or removing the prototype library prevents the issue from happening.

The problem seems to be the statement "menuWidth = ul.width( "" ).outerWidth();" - it looks like ul.width( "" ) returns an object in Compatibility Mode but returns a number in Standards Mode.

Please see the attached file in order to replicate the issue.

Attachments (3)
Change History (9)

Changed October 21, 2010 03:49AM UTC by scottgonzalez comment:1

milestone: TBD1.9
resolution: → fixed
status: newclosed
summary: Issue with autocomplete in IE8 Standards Mode when including prototype frameworkAutocomplete: Broken menu in IE8 Standards Mode when including prototype framework

Fixed in eab0a6d. Requires jQuery 1.4.3 for correct width.

Changed October 21, 2010 11:27AM UTC by unt01d comment:2

resolution: fixed
status: closedreopened

Thanks for the swift fix! I can see the dropdown now, however I'm still getting the same runtime error when using jQuery 1.4.3 (I'm using the nightly build because the stable release threw up lots of prototype errors!).

Changed October 21, 2010 01:19PM UTC by scottgonzalez comment:3

resolution: → fixed
status: reopenedclosed

I'm not sure what nightly build you're referring to, but using jQuery UI master with jQuery 1.4.3 is working fine for me.

Changed October 22, 2010 10:07AM UTC by unt01d comment:4

resolution: fixed
status: closedreopened

Sorry, you're quite right - the conflict seems to be with scriptaculous, rather than prototype itself (see new attachment).

Is it possible to fix this?

Changed October 22, 2010 07:35PM UTC by scottgonzalez comment:5

resolution: → fixed
status: reopenedclosed

This works fine if you load all of your jQuery code first, then load Prototype and Scriptaculous.

Changed October 25, 2010 06:56PM UTC by scottgonzalez comment:6

milestone: 1.91.8.6

Changed October 27, 2010 11:56AM UTC by unt01d comment:7

resolution: fixed
status: closedreopened

Apologies for constantly reopening, but I'm not sure this is the case. I get the exact same runtime error regardless of what order I load external libraries in (see new attachment).

Changed October 27, 2010 01:19PM UTC by scottgonzalez comment:8

resolution: → fixed
status: reopenedclosed

This was fixed after 1.8.5.

Changed November 19, 2010 06:26PM UTC by Scott González comment:9

Position: Use a better check for determining if an object is a window. Fixes #6201 - Autocomplete: Broken menu in IE8 Standards Mode when including prototype framework.

Changeset: eab0a6dac13b642a870747249a360bdddb39da99