我有一个按钮,我希望它在悬停时显示一个下拉列表,当foucout触发时再次隐藏下拉列表。但它不起作用。 "关闭"即使我不希望它在触发焦点之前执行此操作,也会触发悬停效果。我怎么能这样做?
$("#projectStatus").hover(function () {
$("#projectStatusDrp").show();
});
$("#projectStatus").focusout(function () {
$("#projectStatusDrp").hide();
});
//编辑
这就是我想要的,但它也不起作用。
$("#projectStatus").hover(
function() {
$("#projectStatusDrp").show();
}.blur(function() {
$("#projectStatusDrp").hide();
});
答案 0 :(得分:2)
使用此:
$("#projectStatus").mouseover(function(){
$("#projectStatusDrp").show();
);
$("#projectStatus").blur(function() {
$("#projectStatusDrp").hide();
});
另外:
$(document).click(function() {
$("#projectStatusDrp").hide();
});
答案 1 :(得分:0)
这应该做,我希望
$("#projectStatus").hover(
function(){
$("#projectStatusDrp").show();
),
function() {
$("#projectStatusDrp").hide();
}
);
查看jQuery hover功能了解更多信息。
答案 2 :(得分:0)
在描述代码时要做的就是这样:
$("#projectStatus").hover(function() {
$("#projectStatusDrp").show();
}).blur(function() {
$("#projectStatusDrp").hide();
});
但是悬停不会对元素进行聚焦,因此除非用户选中元素,否则模糊将永远不会触发。
你可以明确地将元素集中在悬停上,如下所示:
$("#projectStatus").hover(function() {
$(this).focus();
$("#projectStatusDrp").show();
}).blur(function() {
$("#projectStatusDrp").hide();
})
答案 3 :(得分:0)
我认为你可以使用jQuery中的hover
函数:
$("#projectStatus").hover(
function () {
$("#projectStatusDrp").show();
},
function () {
$("#projectStatusDrp").hide();
});
hover
函数接受两个函数作为参数,一个用于悬停时和悬停时。 jQuery提供了它的优秀文档here。