编辑: 我尝试了 GLK.net 的链接,但我无法让它工作。它只会破坏我的功能。
我有一个 span 元素,如果单击它,它将切换 ul(第一次单击 = 显示/第二次单击 = 隐藏)。
我想要这样,如果显示 ul,用户应该能够单击元素外部(因此,文档/html)来隐藏列表。
这是我的代码:
顺便说一句, $('hmtl').css('cursor', 'pointer'); 用于iOS。
(函数($){
$.fn.styledDropdown = function() {
var obj = $('#tag-cloud');
obj.find('.field').click(function() { // onclick event, show wp-tag
if (obj.find('.wp-tag-cloud').is(':hidden')) {
obj.find('.wp-tag-cloud').show();
obj.find('i').attr('class', 'icon-eqtri-up');
$('html').css('cursor', 'pointer');
$(document).keyup(function(event) { // keypress event, hide wp-tag list
if(event.keyCode == 27) {
obj.find('.wp-tag-cloud').hide();
obj.find('i').attr('class', 'icon-eqtri-down');
$('html').css('cursor', 'default');
}
});
} else {
obj.find('.wp-tag-cloud').hide();
obj.find('i').attr('class', 'icon-eqtri-down');
$('html').css('cursor', 'default');
}
});
obj.find('.wp-tag-cloud li a').click(function() { // onclick event, change field value with selected list item and show list
obj.find('.field').html( $(this).html() + '<i class="icon-eqtri-down"></i>' );
obj.find('.wp-tag-cloud').hide();
$('html').css('cursor', 'default');
});
};
})(jQuery);
对此的任何帮助将不胜感激。
- 代码改编自 css-tricks.com 上的示例