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]/

Reply via email to