[英]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.