我被要求在工作中修补一个写得很糟糕的响应式网站,并且被 jQuery click 事件的问题难住了。
该事件在 iPhone 上的横向模式下运行良好,但在纵向模式下它什么也不做。
这是jQuery:
if (width <= 480) {
function menu(e) {
e.PreventDefault();
$('#menu-item-93 .sub-menu').slideToggle('fast');
}
$('.nav-cont').addEventListener('click', menu(e));
$('.nav-cont').addEventListener('touchstart', menu(e));
}
以及与 header.php 文件相关的部分(我是否提到过,这是一个 Wordpress 站点)
<nav id="main" class="main clearboth">
<?php
wp_nav_menu( array(
'sort_column' => 'menu_order',
'theme_location' => 'primary',
'after'=>'<img src="'.template_url('images/button/link-445x68.png').'" class="show-480" />'
) );
?>
</nav>
<div class="nav-cont">
<div class="nav-text show-480">NAVIGATION</div>
<img class="nav-button show-480" src="<?php echo template_url('images/button/navigation-closed-nt-445x52.png');?>" />
</div>
任何人都知道为什么这个触摸事件只在横向模式下触发?