我有一个jQuery菜单,在“click”打开并关闭“dblclick”。 http://jsfiddle.net/snoffoz/4rZa9/1/
我的问题是,点击链接后它(子菜单)关闭了。 有没有办法让它只在点击主菜单点(菜单1,菜单2)时打开/关闭?
编辑:由于链接不真实,我的问题不会出现在jsfiddle中。“ul”“li”由Wordpress生成。 WP链接http://wptemp.site90.net/
答案 0 :(得分:1)
工作演示 http://jsfiddle.net/JuvwB/
如果我建议您尝试重构无序列表,那么您就会遇到绑定问题,因为您的ul
列表li
已嵌套全新ul
,即水平菜单。
此代码可以帮助您,当用户单击嵌套列表时,我所做的只是返回false。
你也可以试试这个:http://api.jquery.com/unbind/
希望这有帮助,欢呼!
<强>码强>
jQuery.noConflict();
(function($) {
$(function() {
// Dropdown Menu
var timeout = 100;
var closetimer = 0;
var ddmenuitem = 0;
function jsddm_open() {
jsddm_canceltimer();
jsddm_close();
ddmenuitem = $(this).find('ul').css('visibility', 'visible').parent().addClass('jsddm_hover').end();
}
function jsddm_close() {
if(ddmenuitem) ddmenuitem.css('visibility', 'hidden').parent().removeClass('jsddm_hover');
}
function jsddm_timer() {
closetimer = window.setTimeout(jsddm_close, timeout);
}
function jsddm_canceltimer() {
if(closetimer) {
window.clearTimeout(closetimer);
closetimer = null;
}
}
$('ul.jsddm li').bind('click', jsddm_open);
$('ul.jsddm li').bind('dblclick', jsddm_timer);
$('ul.sub-menu li a').bind('dblclick', function(){
return false;
});
//document.onclick = jsddm_close;
$('.thumb img').after('<span></span>');
$('.thumb span').css('opacity','0');
$('.post_home a:first-child').hover(function(){
});
});
})(jQuery);