繁体   English   中英

简单的JavaScript onclick不触发功能-通过jsfiddle和Firebug检查语法

[英]Simple javascript onclick not firing function - syntax checked via jsfiddle and firebug

我正在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配置,因此进行跟踪非常重要。

在此先感谢您的帮助!

现在,返回值是在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>

尝试这个

<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>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM