And*_*ale 4 firefox jquery toggle preventdefault
我有一些jQuery切换H3链接后的段落.它适用于PC上的IE和Chrome以及Mac上的Safari和Chrome.在两个平台上的Firefox上,单击链接什么都不做?
<script type="text/javascript">
$(document).ready(function(){
$("#rightcolumn .article .collapse").hide();
$("#rightcolumn h3 a").click(function(){
if(event.preventDefault){
event.preventDefault();
}else{
event.returnValue = false;
};
$(this).parent().next().toggle(400);
});
});
</script>
Run Code Online (Sandbox Code Playgroud)
如果我禁用event.preventDefault(); 它在Firefox中有效,但当然我将页面跳到顶部,我不想要.我该怎么做才能让它在Firefox中运行?
Nic*_*tes 16
您缺少函数中的事件声明.另外作为惯例,我看到大多数使用evt作为变量名的例子.
$("#rightcolumn h3 a").click(function(evt)
{
evt.preventDefault();
$(this).parent().next().toggle(400);
}
Run Code Online (Sandbox Code Playgroud)
来自TJ Crowder的评论,包括函数中的evt()
您需要将参数声明为单击处理程序(事件不是全局的,除了IE和浏览器,它们会向特定于IE的网站投掷骨骼.)请注意,您不需要(或想要)针对preventDefault的测试.jQuery在不提供本机的浏览器上提供它
关于jQuery事件的更多解释
归档时间: |
|
查看次数: |
9871 次 |
最近记录: |