2009-10-12 81 views
15

在我已经在大约10年前编写的工作中继承的Web应用程序中,我注意到以下代码片断重复使用:脚本标记的“for”和“event”属性是什么(Javascript,HTML)

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

我从来没有见过这样的事情。 FG1是一个活动的x对象,所以这些是特别的事情,或者它们只是处理任何常规javascript事件的另一种方式...... ID可以引用输入(例如按钮)并且事件是onclick?

理想情况下,我会把它写成(如果我的想法是正确的......我实际上不会改变网络应用中的代码,因为它的工作原理,我只是想明白它的意思!)

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

回答

11

这些是script标记的微软专用(仅限Internet Explorer)扩展,以及您无需重写示例的冲动is a good one

5

根据MSDN,则:

属性:

设置或获取绑定到事件脚本对象。

事件属性:

设置或获取该脚本编写的事件。

因此,我假定你有,你可以删除非标准的属性和使用您添加到获得元素的线路,并处理鼠标按下事件。

1

for属性用于for属性的元素名称,例如=“element1”,事件属性用于事件处理,如甚至onclick,onmouseover等等。

例如,如果您添加Onclick事件,则onclick事件在元素上处理您输入的属性名称。

-2

我在一个经典的ASP项目中看到了这种代码片断,它使用了一个简单的vbscript表单验证方法。 `

<input name="button1" type="button" id="button1" value="Submit"> 
    <script language="VBScript" for="button1" event="onClick"> 
       Menu_Validate() 
       </script> 

这个onclick事件将调用Menu_Validate()方法并进行表单验证。