Point well taken. I'll see to it that your changes be implemented inside the HTML form based components.
-- Raymond Irving --- Andrew Gillett <[EMAIL PROTECTED]> wrote: > Hello, > > I have had a problem with capturing keyboard events > in HTMLTextBox. I > want to execute some code when the Enter key is > pressed in a textbox, > but while the keyboard event handling in HTMLTextBox > works quite well it > doesn't allow me to find out which key was pressed. > > The getInnerHTML function in htmltextbox.js > contains: > this._inlineEvents+=' onkeypress="return > htc._e(\'keypress\',this);" ' > +' onkeyup="return htc._e(\'keyup\',this);" ' > +' onkeydown="return htc._e(\'keyup\',this);" ' > > The event handlers are invoked with two arguments: a > String that give > the kind of event and a reference to the TextBox > object. The event > handler in my own code gets the reference to the > object but this doesn't > let me find out which key was pressed. > > I have worked around this problem in my own copy of > DynAPI by adding the > "event" object to the arguments passed to the event > handler: > this._inlineEvents+=' onkeypress="return > htc._e(\'keypress\',this,event);" ' > +' onkeyup="return > htc._e(\'keyup\',this,event);" ' > +' onkeydown="return > htc._e(\'keyup\',this,event);" ' > ... > > The _e function also needs to change from: > p._e = function(evt,elm){ > var rt = this._oldHCTBEvt(evt,elm); > to > p._e = function(evt,elm,arg){ > var rt = this._oldHCTBEvt(evt,elm,arg); > > > This allows my own event handler two receive two > parameters: the object > that raised the event and the event itself. > > May I suggest this change be made to the library? > I'm hoping it won't > cause any cross-browser portability problems. > > > > On a slightly different matter, while I was poking > about in > htmltextbox.js, I noticed that line 72 contained: > if(this.getElm()) this.elm.readonly=(b)? > 'readyonly':''; > > The 'readyonly' looks like a typo which should > probably be fixed. > > > > regards > Andrew Gillett > > ps. I'm using the latest version for DynAPI3 from > CVS. > > > > > > ------------------------------------------------------- > This SF.net email is sponsored by: VM Ware > With VMware you can run multiple operating systems > on a single machine. > WITHOUT REBOOTING! Mix Linux / Windows / Novell > virtual machines > at the same time. Free trial click > here:http://www.vmware.com/wl/offer/358/0 > _______________________________________________ > Dynapi-Dev mailing list > [EMAIL PROTECTED] > http://www.mail-archive.com/[EMAIL PROTECTED]/ __________________________________ Do you Yahoo!? Yahoo! SiteBuilder - Free, easy-to-use web site design software http://sitebuilder.yahoo.com ------------------------------------------------------- This SF.net email is sponsored by: VM Ware With VMware you can run multiple operating systems on a single machine. WITHOUT REBOOTING! Mix Linux / Windows / Novell virtual machines at the same time. Free trial click here:http://www.vmware.com/wl/offer/358/0 _______________________________________________ Dynapi-Dev mailing list [EMAIL PROTECTED] http://www.mail-archive.com/[EMAIL PROTECTED]/