<SELECT> 单击另一个时如何一键模糊?



.change() 选择选项时,我可以模糊<SELECT>

但是,当<SELECT>打开并单击另一个元素或<BODY>时,我如何模糊<SELECT>

通常我们必须点击<BODY>两次才能模糊<SELECT>元素,对吗?

我怎么能只点击一次?

$("select").focus(function () {
    $("code").html("focus");
}).blur(function () {
    $("code").html("blur");
});

$("select").change(function(){
    $("select").blur();
});

为什么我不能做

$("*:not(select)").click(function(){
    $("select").blur();
});

我只需要检测<SELECT>打开还是关闭

演示:http://jsbin.com/owitot/1/edit(尝试打开选择框并单击正文)

问题是,第一次点击只关闭select元素,而不会使其失焦。因此,要解决您的问题,您应该捕捉关闭事件,然后执行:

$("select").blur(); // This will even call your event listener!

但是怎样才能赶上这场势均力敌的比赛呢?不幸的是,没有这样的(官方)活动。但也许这个问题有帮助:当HTML选择元素关闭时,是否有DOM事件会触发?

相关内容

  • 没有找到相关文章

最新更新