为什么在Firefox中调用这个jQuery函数失败?
我的网页上的链接中有以下代码行:
<a href="javascript:$('#comment_form').toggle('normal')" title="Comment on this post">
这会产生一个应该弹出一个隐藏窗体的链接。 它适用于Safari,但在Firefox中,我只是得到一个几乎空白的页面,只有以下文本:
[object Object]
我确信这与jQuery函数返回的值有关,但我不确定如何修复JavaScript函数的调用,因此它也适用于Firefox。
为了...的爱...
<script type='text/javascript'>
jQuery(function($){ # Document ready, access $ as jQuery in this scope
$("a#comment").click(function(){ # bind a click event on the A like with ID='comment'
$('#comment_form').toggleClass('normal'); # Toggle the class on the ID comment form
return false; # stop the href from being followed.
});
});
</script>
....
<a id="comment" href="/you_need_javascript_sorry.html" title="Comment on this post">
[Comment]
</a>
请不要像在HTML中那样嵌入JavaScript。
如果您以这种方式嵌入JavaScript,您可以:
尝试:
<a href="javascript:void($('#comment_form').toggle('normal'))" title="Comment on this post">
将该脚本包含在void()
中将禁止浏览器显示执行结果。
更新
我直接回答了原来的问题,解决方案将花费最少的精力。 正如其中一些其他答案中提到的,我个人会将我的标记和JavaScript分开,并动态添加onclick
处理程序,而不是将脚本嵌入到href
属性中。
尝试将href中的内容移至onclick。 一般来说,你应该避免在href属性中使用JavaScript代码。
链接地址: http://www.djcxy.com/p/71515.html上一篇: Why does the call to this jQuery function fail in Firefox?
下一篇: Can I use both REST and SOAP in an Android application?