如何内联注册jQuery单击处理程序?

时间:2013-08-31 00:33:21

标签: javascript jquery invision-power-board

我正在使用的CMS(Invision Power Board)具有漂亮的登录链接,单击此链接可打开对话框而不是更改页面。我找到了一个如何创建这样一个链接的例子:

<a href="..." onmouseover="$( this ).on( \'click\', ipb.global.inlineSignin ); return false;">...</a> 

问题是,每次在链接上移动鼠标时,都会添加点击处理程序。因此,如果我将鼠标移到链接上十次然后单击它,登录对话框会出现十次。

我尝试将其更改为:

<a href="..." onclick="ipb.global.inlineSignin; return false;">...</a> 

但这不起作用。控制台中没有任何错误,但单击链接时没有任何错误。

我能够使这个工作,但它需要一些非内联代码:

<script type="text/javascript">jQuery("a.signIn").on("click", ipb.global.inlineSignin);</script>

但这是一个问题,因为我可能在页面的不同部分(独立生成)上签名链接,如果我不止一次拥有上述代码段,那么我又回到了同样的问题。

有没有办法让这个点击处理程序只使用内联代码?

1 个答案:

答案 0 :(得分:3)

您需要调用方法

<a href="..." onclick="ipb.global.inlineSignin(); return false;">...</a>