Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 删除对更改时选择元素的关注,如果没有使用jquery更改,也可以删除_Javascript_Jquery_Onchange - Fatal编程技术网

Javascript 删除对更改时选择元素的关注,如果没有使用jquery更改,也可以删除

Javascript 删除对更改时选择元素的关注,如果没有使用jquery更改,也可以删除,javascript,jquery,onchange,Javascript,Jquery,Onchange,我有以下代码,当所选项目发生更改时,会删除选择菜单的焦点: $("select").change( function() { $(this).blur(); }); 但是,如果我没有选择与已选择的选项不同的选项,blur()函数将不会运行。。。因为一切都没有改变 是否有“更改或不更改”功能???试试看 var c = 0; $("select").bind('click', function() { event.stopPropagation(); if (c++ %

我有以下代码,当所选项目发生更改时,会删除选择菜单的焦点:

$("select").change( function() {
    $(this).blur();
});
但是,如果我没有选择与已选择的选项不同的选项,blur()函数将不会运行。。。因为一切都没有改变

是否有“更改或不更改”功能???

试试看

var c = 0;
$("select").bind('click', function() {
    event.stopPropagation();
    if (c++ % 2 == 1)
    {
        console.log(c);
        $(this).blur();
    }
});

$('html').click(function() {
    if ($('select').is(':focus'))
        c = 1;
    else
        c = 0;
});
​


更新。

如果用户通过单击关闭菜单而不是选择相同的选项来关闭菜单,该怎么办?-此外,这在Safari似乎不起作用如果我理解你的意思,那么我认为浏览器会自动使用
blur
(浏览器行为)。点击事件不会在ChromeYep上为我触发,
选项
不会在点击时触发,只需删除同一页面上的
>选项
.parent()
,您可能会读到:从jQuery1.7开始,.live()方法已被弃用。