0

次のステートメントの違いは何ですか?

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

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

関数を呼び出す 2 番目の方法で Web ページを作成し、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 に答える