Evan Wong wrote:
[color=blue]
> I have problem to get onkeyup event. If we put the event in HTML
> statement like -
>
> "<input name=field1 size=16 onkeyup="javascript
:function1();>"
>
> it works.
>
> If we put in JavaScript code like this
> var oElmt = document.createElement("input");
> :
> oElmt.onkeyup = function () {javascript
:function1() };
> or
> oElmt.onkeyup = "javascript
:function1()";
>
> It will work sometimes, and failed sometimes. Most of the time I need
> to switch to another field and back, to make the event working.
>
> Anybody experienced this problem before?[/color]
Yes, when you try to assign a string to what is a function reference, it
tends not to work too well. Use:
<body onload="test();">
<form name="myFormName" id="myFormId">
</form>
<script type="text/javascript">
function test() {
var a = document.createElement('input');
// assign the reference to function1 to the onkeyup event
a.onkeyup = function1;
document.forms['myFormName'].appendChild(a);
// or document.getElementById('myFormId').appendChild(a) ;
}
function function1() {
alert('keyup');
}
</script>
</body>
Just as a side note:
oElmt.onkeyup = function() { javascript
:function1(); };
should work, but "javascript
:" in that example is simply a label that
serves no purpose, and you lose the ability to refer to have "this" in
function1() refer to the element.
--
| Grant Wagner <gwagner@agricoreunited.com>
* Client-side Javascript and Netscape 4 DOM Reference available at:
*
http://devedge.netscape.com/library...nce/frames.html
* Internet Explorer DOM Reference available at:
*
http://msdn.microsoft.com/workshop/...rence_entry.asp
* Netscape 6/7 DOM Reference available at:
*
http://www.mozilla.org/docs/dom/domref/
* Tips for upgrading JavaScript for Netscape 7 / Mozilla
*
http://www.mozilla.org/docs/web-dev.../upgrade_2.html