在同一个div上悬停并单击功能

时间:2012-05-24 10:46:55

标签: jquery

在同一个div上附加悬停和onclick功能的正确方法是什么?

这是我尝试的但是没有用(点击什么也没做):

$(function outlineHider(){
    $("#hotspot").hover(
        function() {
            $("#outlines").show(); //showing another div element
            function bindClick() {
                $("#hotspot").click(callAnotherFunction())};
            }, 
            function() {
                $("#outlines").hide();
            }
        );  
}); 

3 个答案:

答案 0 :(得分:2)

试试这个:

$(function() { // document ready handler shortcut
    $("#hotspot").hover(
        function() { $("#outlines").show(); }, 
        function() { $("#outlines").hide(); }
    ).click(function() {
        callAnotherFunction()
    }); 
}); 

或更短版本,感谢@VisioN:

$(function() {
    $("#hotspot")
        .hover(function() { $("#outlines").toggle(); })
        .click(callAnotherFunction);    
}); 

答案 1 :(得分:0)

试试这个

$(function() { 
    $("#hotspot")
        .hover(
            function() { $("#outlines").show(); }, //mousein
            function() { $("#outlines").hide(); }  //mouseout
        )

        .click(function() { 
            callAnotherFunction();
        });
});

答案 2 :(得分:0)

如果我做对了,这对你有帮助。

$(function outlineHider(){
    $("#hotspot").hover(
        function() {
            $("#outlines").show(); //showing another div element
    }),click(function(){
       $("#outlines").hide();
    });
}); 
  

Combine hover and click functions (jQuery)?

     

var hoverOrClick = function(){       //做一些常见的事情} $('#target')。click(hoverOrClick).hover(hoverOrClick);

     

第二种方式:使用bind:

     

$('#target')。bind('click hover',function(){       //为两者做点什么});