event.preventDefault() 在移动设备上不起作用
event.preventDefault() doesn't work on mobile
我使用魅力模板来开发Web App。但是,子菜单无法在移动设备上打开。
这是 hmtl 代码:
<li class="accordion">
<a href="#"><i class="icon-tasks"></i><span class="hidden-tablet"> Manage Task</span></a>
<ul class="nav nav-pills nav-stacked">
<li>
<a class="ajax-link" href="<?php echo $this->Html->url(array('controller' => 'Tasks', 'action' => 'index/1')); ?>"><i
class="icon-list-alt"></i>
<span class="hidden-tablet">My Assigned Tasks</span>
</a>
</li>
<li>
<a class="ajax-link" href="<?php echo $this->Html->url(array('controller' => 'Tasks', 'action' => 'index/2')); ?>"><i
class="icon-list-alt"></i>
<span class="hidden-tablet">My All Tasks</span>
</a>
</li>
<li>
<a class="ajax-link" href="<?php echo $this->Html->url(array('controller' => 'Calendars', 'action' => 'index')); ?>"><i
class="icon-list-alt"></i>
<span class="hidden-tablet"> Assign Tasks</span>
</a>
</li>
</ul>
这是 js 代码:
$('.accordion > a').click(function (e) {
e.preventDefault();
var $ul = $(this).siblings('ul');
var $li = $(this).parent();
if ($ul.is(':visible')) $li.removeClass('active');
else $li.addClass('active');
$ul.slideToggle();
});
$('.accordion li.active:first').parents('ul').slideDown();
我认为 e.preventDefault() 在移动设备上不起作用,所以当单击标签时,它仍然会渲染并且不显示子菜单。
请帮我重新喜欢这个问题。谢谢。
尝试将点击和触摸启动事件绑定在一起,如下所示:
$('selector').on('click touchstart', function(e)
{
e.preventDefault();
});
或者,您可以实现一个帮助程序脚本,如 Touche.js
获取使用 jQuery 应用的点击事件,并以静默方式重新映射它们 支持触摸的设备的"触摸端"事件。
对我来说
,更好的解决方案是使用点击和点击事件
$('selector').on('click tap', function(e)
{
e.preventDefault();
});
如果您使用 touchstart,则无法滚动此链接
相关文章:
- XMLHttpRequest在移动设备上的chrome上不起作用
- 下拉式父菜单链接在移动设备中不起作用
- 我的响应菜单在移动版中不起作用
- 未捕获的类型错误:无法设置属性'innerHTML'如果为null,则将脚本移动到正文不会;不起作用
- Angular js过滤器在某些移动设备上不起作用
- Jquery移动转换复选框在Jquery onclick函数()中第二次选中不起作用
- html视频javascript播放方法在移动Safari中不起作用
- HTML 不加载 CSS ,刷新后一切正常.同样在移动设备上,它在首次加载时不起作用
- 铬移动;导航.地理位置不起作用
- 移动导航菜单不起作用(HTML,CSS和JQuery)
- jQuery .play() 在移动 Safari 上不起作用
- overflow-x:隐藏在移动设备上不起作用
- 鼠标点击不会'不起作用,鼠标移动可以
- 在编译jquery移动代码时,Script标记在Eclipse Phonegap中不起作用
- I'我试图用一个按钮随意移动一个CSS元素,我试图使用偏移量,但onlick不起作用
- jQuery:jQuery.val()在移动Safari和Chrome中不起作用
- 在移动设备领域,空白:nowrap;溢出:隐藏;文本溢出:省略号;有点不起作用
- 第二个ajax请求在移动浏览器上不起作用
- 移动响应表单不起作用
- 在 Javascript 中使用 setTimeout 移动文本不起作用