不支持悬停功能?

时间:2016-04-16 05:37:10

标签: javascript jquery html hover

鼠标功能无法支持

$("div.container1:has('#image')").hover(function() {
        console.log("Success hover");
 });   

这是我的div类

<div class="container1">
  <img src="img/1920/blue.jpg" id="imageId"/>
 </div>

点击操作的div类中的功能

$(document).ready(function() {
    $(".container1").click(function(e) {
        e.preventDefault();
            var x = e.pageX - this.offsetLeft;
        var y = e.pageY - this.offsetTop;

        var img = $('<button>');
        img.css('top', y);
        img.css('left', x);
        img.css('position', 'absolute');
        img.attr('type', 'button');
        img.attr('id', 'image');
        img.css('z-index', 1);
        img.attr('class', 'btn btn-info btn-lg');
        $(this).attr('data-toggle','modal');
        $(this).attr('data-target','#myModal');
        img.attr('data-toggle','modal');
        img.attr('data-target','#myModal');
        console.log("Mouse action Start");
        img.appendTo('.container1');
        /*$(this).removeClass('.container1');*/
        console.log("Mouse action End");
        $(this).removeClass('<button>'); 


    });


});

2 个答案:

答案 0 :(得分:0)

这是因为.hover有两个参数。鼠标中断时的回调,以及离开时的回调。

此外,您是否添加了DOM元素,然后添加了点击处理程序?如果是这样,您肯定需要使用.on()

.on()用于动态添加到DOM的元素。 你可能需要.on('mouseenter', [callback]).on('mouseleave', [callback])而不是.hover()。只是fyi。

答案 1 :(得分:0)

选择作品的另一种方式,jsbin

 $("div.container1 #imageId").hover(function() {
            console.log("Success hover");
  });