jQuery: The Write Less, Do More JavaScript Library

Ticket #2511 (closed bug: wontfix)

Opened 4 months ago

Last modified 2 months ago

Attribute Selector Sometimes returns function instead of string

Reported by: Pete Michaud Assigned to: anonymous
Type: bug Priority: major
Milestone: 1.2.4 Component: core
Version: 1.2.3 Keywords:
Cc: Needs: Review

Description

I'm working on an ASP .NET application, and I wanted to select all controls that post back, so I used this selector:

$("input[onchange='doPostBack']").change(function(){

setTimeout(WaitForPostBack?, 250);

});

The idea is to trigger a "please wait" dialog while the page takes it's sweet time posting back.

The part that's broken is that because I'm looking for onclick, and the event itself is onclick, when it hits around line 1712:

if ( (type == "" && !!z 1710 type == "=" && z == m[5] 1711 type == "!=" && z != m[5] 1712 type == "=" && z && !z.indexOf(m[5]) 1713 type == "$=" && z.substr(z.length - m[5].length) == m[5]

1714 (type == "*=" type == "~=") && z.indexOf(m[5]) >= 0) not ) 1715 tmp.push( a );

z.indexOf breaks, because z is an anonymous function, instead of the string value of the "onclick" attribute. The anonymous function obviously doesn't have the indexOf method.

Attachments

Change History

Changed 2 months ago by flesler

  • status changed from new to closed
  • resolution set to wontfix

This could be patched, but it seems like it just adds unnecessary overhead. Use a filter function instead.

Note: See TracTickets for help on using tickets.