简单的javascript onclick没有触发功能 - 通过jsfiddle和firebug检查语法

时间:2012-03-18 20:40:51

标签: javascript function onclick

我在javascript函数中调用了一个名为Highslide的实用程序。将整个事物嵌入到这样的链接中工作正常:

<a href="http://localhost/theopscompany-local/test-page-1/" onclick = "return hs.htmlExpand(this, { 
            objectType: 'ajax', width: 400, 
            headingEval: 'this.a.title', wrapperClassName: 'titlebar' }     )">highslide test link1</a>

但是,将所述代码放在函数中并通过onclick调用它如下所示不起作用。我已经把它通过jsfiddle和Firebug用于语法,所有看起来都很好,但它只是因为某些原因没有触发Highslide代码。链接页面正常加载。

<a href="http://localhost/theopscompany-local/test-page-1/" onclick = "highslideview2();">highslide test link2</a>
<script type="text/javascript">
function highslideview2() {
    return hs.htmlExpand(this, { 
        objectType: 'ajax', 
        headingEval: 'this.a.title', wrapperClassName: 'titlebar' });}
</script>

我知道这可能是一件非常简单的事情,所以如果它低于通常问题的水平,我会道歉,但我很难过,也看不出为什么这不起作用。目的是a)清理HTML链接和b)让我为不同类型的链接调用不同的Highslide配置,因此它非常重要。

提前感谢您的帮助!

2 个答案:

答案 0 :(得分:1)

返回值现在是在highslideview2()内执行的代码的结果,而不是触发onclick处理程序时运行的函数。将返回添加回内联onclick属性应修复它。

<a href="http://localhost/theopscompany-local/test-page-1/" onclick = "return highslideview2(this)">highslide test link2</a>
<script type="text/javascript">
function highslideview2(e) {
    return hs.htmlExpand(e, { 
        objectType: 'ajax', 
        headingEval: 'e.a.title', wrapperClassName: 'titlebar' });}
</script>

答案 1 :(得分:0)

试试这个

<a href="http://localhost/theopscompany-local/test-page-1/" onclick = "highslideview2()">highslide test link2</a>
<script type="text/javascript">
function highslideview2() {
    return hs.htmlExpand(this, { 
        objectType: 'ajax', 
        headingEval: 'this.a.title', wrapperClassName: 'titlebar' });}
</script>