Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/440.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
在jQuery或Javascript中切换事件捕获?_Javascript_Jquery_Hover_Jquery Events - Fatal编程技术网

在jQuery或Javascript中切换事件捕获?

在jQuery或Javascript中切换事件捕获?,javascript,jquery,hover,jquery-events,Javascript,Jquery,Hover,Jquery Events,我的页面上有一些元素(id=itemid),当鼠标悬停在上面时,会导致另一个元素(id=panel)变得可见(通过fadeIn)。基本上,itemid上的悬停事件会导致面板fadeIn,mouseOut导致fadeOut 我想制作一个按钮,这样当单击面板元素时,它不会消失,而是保持可见。单击该按钮时,mouseIn和mouseOut事件应再次工作 有什么想法吗 谢谢大家! $(document).ready(function(){ $('.itemid').hover(

我的页面上有一些元素(
id=itemid
),当鼠标悬停在上面时,会导致另一个元素(
id=panel
)变得可见(通过fadeIn)。基本上,
itemid
上的悬停事件会导致面板
fadeIn
mouseOut
导致
fadeOut

我想制作一个按钮,这样当单击面板元素时,它不会消失,而是保持可见。单击该按钮时,
mouseIn
mouseOut
事件应再次工作

有什么想法吗

谢谢大家!

$(document).ready(function(){
    $('.itemid').hover(
        function () {
            $('.panel').fadeIn(300);
        },
        function () {
            $('.panel').fadeOut(200);
        }
    );
});

单击按钮时,在对象/项目上使用$(选择器).unbind('mousein')取消事件注册,并在再次单击按钮时重新注册。每次单击按钮时都要保持切换。

设置是否淡入淡出的标志:

$(document).ready(function(){
var fadeEnabled = true;
$('.itemid').hover(
    function () {
        if (fadeEnabled) {
            $('.panel').fadeIn(300);
        }
    },
    function () {
        if (fadeEnabled) {
            $('.panel').fadeOut(200);
        }
    }
);

$("#myButton").click(function() {
     fadeEnabled = !fadeEnabled;
});

});

然后,只需用按钮切换该标志,它将启用或禁用淡入淡出行为。

对类进行淡入淡出悬停,然后单击添加/删除所述类即可。