Jquery 附加图像赢得';没有悬停效果
所以我注意到了这一点。基本上,我的代码在调整窗口大小时会在末尾附加一组图像,这样就有了一行连续的图像,而不是会影响设计的突然结尾。因此,根据屏幕大小,我可能会添加4个或2个图像Jquery 附加图像赢得';没有悬停效果,jquery,hover,append,Jquery,Hover,Append,所以我注意到了这一点。基本上,我的代码在调整窗口大小时会在末尾附加一组图像,这样就有了一行连续的图像,而不是会影响设计的突然结尾。因此,根据屏幕大小,我可能会添加4个或2个图像 function imageNumber() { $('#images br').remove(); $('.appended').remove(); var windowWidth = $(window).width(); var numberOfImages = $("#i
function imageNumber() {
$('#images br').remove();
$('.appended').remove();
var windowWidth = $(window).width();
var numberOfImages = $("#images img").length;
var numberOfImagesPerRow = Math.ceil(windowWidth / imageWidth);
$('#images img:nth-child('+numberOfImagesPerRow+'n)').after('<br />')
$('#images br:last-child').remove();
var nuLineBreaks = $('br').length + 1;
if(numberOfImages % numberOfImagesPerRow != 0) {
var numberOnRow = Math.round((1 - (numberOfImages/numberOfImagesPerRow % 1)) * numberOfImagesPerRow);
var number = 0;
while(number <= numberOnRow) {
$('.i'+number).clone().appendTo($('#images')).attr('class', 'appended');
++number;
}
}
}
你知道如何解决这个问题吗?你有哪个版本的jQuery?如果是1.7,那么看看on方法:如果是更早的,那么看看live:您有哪个版本的jQuery?如果是1.7,请查看on方法:如果是更早,请查看live:没错,添加到页面中的图像没有悬停效果。这是因为事件处理程序仅附加到调用
hover()
时找到的jQuery元素。新元素(如由clone()
创建的元素)没有附加任何事件处理程序
在您的情况下,您可能希望使用clone(true)
,这将导致
另一个选项是使用on()
将悬停事件附加到父元素(#images),并指定一个选择器来筛选应触发事件的子元素,如下所示:
$("#images").on("mouseover", "img", function() {
// mouseover code
}).on("mouseleave", "img", function() {
// mouseleave code
});
在这种情况下,由于事件处理程序附加到#images,因此无论将来添加什么
img
元素,它都会被触发。没错,添加到页面的图像没有悬停效果。这是因为事件处理程序仅附加到调用hover()
时找到的jQuery元素。新元素(如由clone()
创建的元素)没有附加任何事件处理程序
在您的情况下,您可能希望使用clone(true)
,这将导致
另一个选项是使用on()
将悬停事件附加到父元素(#images),并指定一个选择器来筛选应触发事件的子元素,如下所示:
$("#images").on("mouseover", "img", function() {
// mouseover code
}).on("mouseleave", "img", function() {
// mouseleave code
});
在这种情况下,由于事件处理程序附加到#images,因此无论将来添加什么
img
元素,它都会被触发。感谢您的帮助!但是下面的人提供了更多的信息:3谢谢你的帮助!但下面这个人提供的信息要多一些:3