2012-10-03 31 views
0

以下语句有什么区别?Javascript调用差异

<tr onclick="javascript:class1.function1()"> 
<td>HideAlert</td> 
</tr> 

<tr onclick="class1.function1()"> 
<td>HideAlert</td> 
</tr> 

我创建了第二种方法用网页进行调用其安装了Windows 2003 Server的功能和测试在Internet Explorer 6.0。该函数未被调用。当我在浏览器地址栏中输入“javascript:class1.function1()”时,该功能就起作用了。以上述方式调用函数有什么区别吗?

该脚本是象下面这样:

<script type="text/javascript"> 
var class1 = function(obj) { 
this.val1 = obj.val1; 
} 
class1.function1 = function() { 
$('#alertDiv').fadeOut('slow', function() { 
}); 
</script> 

jQuery的版本是1.4.2

+0

嗯,'onClick' vs'onclick'? :) –

+0

他们都有一些共同点:糟糕的编码风格。你应该使用[unobtrusive JavaScript](http://dev.opera.com/articles/view/unobtrusive-javascript/)。添加事件。 – epascarello

+0

''在IE6中工作吗?请注意大小写。 –

回答

2

在地址栏中(或href属性或其他任何常规URL可能会出现的位置),javascript:是用于标识要在当前页面中运行的一段JavaScript的协议。

onclick属性(或任何其它脚本上下文),javascript:是可以这样被使用的标签:

javascript: 
for(var i=0; i<100; i++) { 
    while(true) { 
     continue javascript; 
    } 
} 
// bad example, but it works and doesn't cause an infinite loop! 

换句话说,onclick="javascript:..."是不必要的。

+0

感谢您的答案哥们。你能帮我解释为什么脚本没有在onclick上运行,并在我传入地址栏时运行? –

0

第一版本具有完全冗余label

他们的行为应该是相同的。