Javascript调用区别

标签 javascript jquery internet-explorer

以下语句有什么区别?

<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/

相关文章:

javascript - 在拖动事件 D3 上旋转矩形

javascript - VueJS - 在渲染子组件之前等待父组件中的 update()

javascript - scrapy填写POST表单

jquery - .chosen.change() - 如何确定它是选择还是取消选择操作

javascript - 自定义对象上的 Jquery on() 单击函数

javascript - 在 Javascript 中将文件内容读取为字符串

css - 为什么我的网站在 IE 中看起来像垃圾?

css - IE7 清除 float 问题

javascript - 有没有正确的方法来处理 require.js 的 DOM 就绪事件? (不,domReady 插件不起作用)

javascript - 数据未添加到 Jquery DataTables 中?