以下陈述之间有什么区别?
<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 :(得分: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:..."
是不必要的。
答案 1 :(得分:0)
第一个版本有一个完全冗余的label。
他们的行为应该是相同的。