我正在尝试在导航栏中实现下拉菜单.一切似乎在我的桌面上工作得很好,但在手机上,我的jquery .live(“点击”)似乎没有工作.我尝试添加onclick =”,但它似乎不起作用!
这是我一直在实施的代码
HTML
<ul class="nav pull-right">
<li class="dropdown">
<a id="notif-load-dropdown" class="dropdown-toggle" data-toggle="dropdown" onclick='' href="/notifications/"><b data-icon=""></b></a>
<ul class="dropdown-menu dropdown-menu2 pull-left">
<h3 class="lead" style="margin-left:25px;">Activity Feed</h3>
<hr>
<span id="notif-load"></span>
</ul>
</li>
</ul>
JS
$('#notif-load-dropdown').live('click', function(event) {
event.preventDefault();
var checkclass = $('#notif-load-dropdown').parent().hasClass('open');
var b = $('html');
if (checkclass){
var w = $(document).width();
var h = $(document).height();
$('#notif-load').css({
position: 'relative',
top : 0,
left : 0,
zIndex : 100
});
var $overlay = $('<div/>', {
'id': 'overlay',
css: {
position : 'absolute',
height : h + 'px',
width : w + 'px',
left : 0,
top : 0,
background : '#000',
opacity : 0.5,
zIndex : 99
}
}).appendTo('body');
b = $('html');
b.css('overflow', 'hidden');
var href = $(this).attr('href');
$('#notif-load').load(href);
var chkaclass = $('#notif-load a').hasClass('endless_more');
if (!checkclass){
$('#notif-load a').live('click', function(event){
$('#notif-load').load('/notifications/allread/').load(href);
});
}
$('#overlay').click(function(){
$(this).remove();
$('#notif-load').load('/notifications/allread/');
$('#unread-notif').load('/isunread/');
$('#notif-load').empty();
b.css('overflow', 'auto');
});
}
else
{
$('#overlay').remove();
$('#notif-load').load('/notifications/allread/');
$('#unread-notif').load('/isunread/');
$('#notif-load').empty();
//$('#notif-load-dropdown').parent().removeClass('open');
b.css('overflow', 'auto');
}
return false;
});
解决方法:
它不完全清楚什么是不起作用.
如果问题是根本没有调用CLICK处理程序,那么你可以尝试使用触摸事件,如“touchstart”或“touchend”,因为在触摸设备上你没有鼠标指针,所以你不能“点击”.我使用jquery.tappable.js,它对我来说很好.
希望这可以帮助.
【说明】:本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!