views:

82

answers:

2

In a web application I've inherited at work which was written about 10 years ago I've noticed the following code snippets repeatedly used:

<script language="JavaScript" for="FG1" event="Mousedown(Button, Shift, x, y)">
{
   // some code here that uses the variables Button, Shift, x and y
}
</script>

I've never really seen anything like this before. FG1 is an active x object so are these some special things for it specifically or are they just another way of handling any regular javascript event...could the ID reference an input (e.g. a button) and the event be onclick?

ideally, i'd re write it as (if my thinking is correct...I'm not actually going to change the code in the web app as it works, i just want to understand what it means!)

<script type="text/javascript">
    var fg1 = document.getElementById("FG1");
    fg1.onMouseDown = function(Button, Shift, x, y) {
        // do stuff here...
    }
</script>
+1  A: 

According to MSDN, the:

for attribute:

Sets or retrieves the object that is bound to the event script.

event attribute:

Sets or retrieves the event for which the script is written.

Therefore, I presume as you have that you can drop the non-standard attributes and use the lines you added to get the element, and handle the mousedown event.

scunliffe
+3  A: 

Those are Microsoft-specific (Internet Explorer-only) extensions to the script tag, and your impulse to rewrite the example without them is a good one.

Jonathan Feinberg