TEL:400-8793-956
当前位置:程序、服务器

如何使用jQuery添加mouseleave,mouseenter和click事件

提问者: 近期获赞: 浏览人数: 发布时间:2020-12-20 15:02:41

 问:我想在进入和离开鼠标时更改图像。但是单击后图像应保留在该位置。我有一个图像属性源,该属性在鼠标进入和鼠标离开事件时被替换。但是单击后图像也会改变。单击图像后,我需要mouseleave事件停止工作。这是下面的代码:

 
<脚本>
    $ ('.imgContainer' )。mouseenter (function (){
        $ ('.imgContainer' )。attr ('src' ,'http://url-to-my-active-image.jpg' );
    } ),
    $ ('.imgContainer' )。mouseleave (function (){
       $ ('.imgContainer' )。attr ('src' ,'http://url-to-my-inactive-image.jpg' );
    } ),
    $ ('.imgContainer' )。点击(function (){
       $ ('.imgContainer' )。css ('opacity' ,'1' );
    } );
</脚本>
 
答:在更改图像源之前,必须设置全局布尔变量Flag。像这样:
 
$(document).ready(function(){
    var flag = true;
    $('。imgContainer')。mouseenter(function(){
        如果(标志){
             $('。imgContainer')。attr('src','img1.gif');
         }
     }),
    $('。imgContainer')。mouseleave(function(){
        如果(标志){
              $('。imgContainer')。attr('src','img2.gif');
        }
    }),
    $('。imgContainer')。click(function(){
       标志=假;
     }); });
 
 
答:我们可以使用以下几行使click上的mouseenter和mouseleave保持无效:
 
$('。imgContainer')。click(function(){
     $(this).off('mouseenter')。off('mouseleave');
});
这将帮助您解决问题。希望这会帮助你。谢谢
 
答:在click函数调用上,将imgcontainer中的mouseleave事件解除绑定,如下所示:
 
$('。imgContainer')。click(function(){        
        $('。imgContainer')。css('opacity','1');
        $('。imgContainer')。unbind('mouseleave');
        });
上一篇: 如何使用jQuery从下拉列表中获取所选文本
下一篇: 使用IBOutlet和IBAction的目的是什么?