以下语句有什么区别?
<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
最佳答案
在地址栏中(或在 href
属性中,或常规 URL 可能出现的任何其他位置),javascript:
是标识 JavaScript 片段的协议(protocol)在当前页面运行。
在 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:..."
是不必要的。
关于Javascript调用区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12708387/