2017-08-17 121 views
-4

爲了更好地理解JavaScript,並試圖瞭解其原因,Google搜索導致沒有答案(儘管我可能使用不正確的術語搜索)。爲什麼在調用我的javascript函數時需要'javascript:'?

我在<a></a>內的onclick事件中正在調用函數。通過在創建函數之前添加'javascript:',我能夠獲得最終工作的功能(來自同事的建議)。沒有onclick中的javascript:部分,我的函數沒有被調用。

它現在可以工作,但我不明白這是做什麼,另一位程序員誰建議把它在電話中也不知道它究竟做了什麼。

這裏所使用的代碼的簡化版本:

#1 .jspf higher up which includes page #2 to display it's contents 
function createTagging(1, 2) { 
    cmCreateElementTag(1 + ", " + 2,"TagName"); 
} 


HTML in .jspf file #2 further down website makes the call to function in file #1 
<a id="CatEntry" href="https://aurl" 
       onclick="javascript: createTagging('parameter1', 'parameter2');" 
       title="atitle" aria-label="alabel"> 

       <img id="ThumbNailImage_59244" src="https://image.jpg" 
       alt="" border="0"/> 

     </a> 

-Troy

+0

相關https://stackoverflow.com/questions/10877485/better-way-to-call-javascript-function-in-a-tag –

回答

4

爲什麼需要 '的javascript:' 在呼叫我的javascript函數?

你不知道。這是一個onclick處理程序。您使用javascript:僞協議,其中URL預計(例如,如果您使用href而不是onclick)。 onclick需要JavaScript代碼。

事實上,它僅適用於JavaScript標記了語句,並且javascript:是有效的標籤。它完全被忽略。

沒有在onclick中的JavaScript:部分,我的功能沒有被調用。

尊重,那一定是觀察錯誤。再次,在onclick處理程序中,它使得無差異無論您是否在前面有javascript:。如果它不工作,然後它正在工作,你改變了一些東西其他在你添加javascript:

+1

「一個onclick處理程序,它是沒有區別,你是否有javascript:在前面是否。「 謝謝TJ這也是我的理解。 Perphaps我做了一個額外的變化,我看了。感謝您的快速回復。 – Troy

2

onclick屬性總是在HTML中調用JavaScript。

onclick="createTagging('parameter1', 'parameter2');" 

如果使用不是一個事件,而是href只有必要的。你需要爲Javascript添加protocoll。

相關問題