Side navigation
#14770 closed bug (notabug)
Opened February 07, 2014 12:31PM UTC
Closed February 07, 2014 01:48PM UTC
Conflict with Prototype.js when triggering a custom event called `update`
Reported by: | christiedom@gmail.com | Owned by: | |
---|---|---|---|
Priority: | undecided | Milestone: | None |
Component: | unfiled | Version: | 1.11.0 |
Keywords: | Cc: | ||
Blocked by: | Blocking: |
Description
Triggering a custom event called update
inside a keyup
/keydown
event handler prevents default behaviour when Prototype.js is included. No exceptions are thrown, but keystrokes in a textarea (which trigger update
) have no effect.
keyup
test case: http://jsbin.com/finix/14/edit
This bug has been reproduced with jQuery versions:
- 1.8.3
- 1.9.1
- 1.10.2
- 1.11.0
with Prototype.js versions:
- 1.6.1.0
- 1.7.1
using the following Browsers:
- IE8 Win XP
- IE8 Win 7
- IE9 Win 7
- IE10 Win 7
- IE11 Win 7
Works as expected on recent versions of Chrome OS X (32.0.1700.102), Firefox OS X (27), and on IE6 and IE7 on Windows XP.
Attachments (0)
Change History (1)
Changed February 07, 2014 01:48PM UTC by comment:1
resolution: | → notabug |
---|---|
status: | new → closed |
This is because Prototype adds an
.update()
method to the element.http://prototypejs.org/doc/latest/dom/Element/update/
Augmenting an object you don't own with non-standard methods is bad practice and the source of several problems with Prototype.
As jQuery documents, when an event is fired on an element jQuery calls the corresponding DOM method if found. If you don't want that to happen, use
.triggerHandler()
rather than.trigger()
.