为什么在调用我的javascript函数时需要'javascript:'?

时间:2017-08-17 14:51:24

标签: javascript onclick

较新的JavaScript并试图了解其原因,搜索Google导致没有答案(尽管我可能会使用不正确的字词进行搜索)。

我正在<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

2 个答案:

答案 0 :(得分:4)

  

为什么在调用我的javascript函数时需要'javascript:'?

你没有。这是一个onclick处理程序。您使用javascript:伪协议,其中需要网址(例如,如果您使用href而不是onclick)。 onclick需要JavaScript代码。

事实上,它只能起作用,因为JavaScript标记了语句,javascript:是有效标签。它完全被忽略了。

  

如果没有onclick中的javascript:部分,我的函数就没有被调用。

尊重,这一定是观察性的错误。同样,在onclick处理程序中,无论你是否有javascript:,它都会没有区别。如果它不起作用,然后它正常工作,则在添加javascript:的同时更改了 else

答案 1 :(得分:2)

onclick属性始终以HTML格式调用javascript。

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

只有在不使用事件时才需要href。在那里你需要为Javascript添加protocoll。