2012-10-03 35 views
0

以下語句有什麼區別?Javascript調用差異

<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

嗯,'onClick' vs'onclick'? :) –

+0

他們都有一些共同點:糟糕的編碼風格。你應該使用[unobtrusive JavaScript](http://dev.opera.com/articles/view/unobtrusive-javascript/)。添加事件。 – epascarello

+0

''在IE6中工作嗎?請注意大小寫。 –

回答

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

+0

感謝您的答案哥們。你能幫我解釋爲什麼腳本沒有在onclick上運行,並在我傳入地址欄時運行? –

0

第一版本具有完全冗餘label

他們的行爲應該是相同的。