0

以下陈述之间有什么区别?

<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

4

2 回答 2

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:..."是不必要的。

于 2012-10-03T12:26:48.353 回答
0

第一个版本有一个完全多余的标签

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

于 2012-10-03T12:25:50.720 回答