我正在使用的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>
但这是一个问题,因为我可能在页面的不同部分(独立生成)上签名链接,如果我不止一次拥有上述代码段,那么我又回到了同样的问题。
有没有办法让这个点击处理程序只使用内联代码?
答案 0 :(得分:3)
您需要调用方法
<a href="..." onclick="ipb.global.inlineSignin(); return false;">...</a>