0

在我发送一个 Ajax 请求并且它成功之后。jquery.hover() 不适用于页面的新部分。

有没有办法在不通过另一个 ajax 请求重新加载 div 的情况下重新加载脚本,以便它与页面的新部分一起使用。

4

3 回答 3

2

您不能在动态元素上使用hover(),因为它不是事件处理程序,您需要对mouseentermouseleave事件使用委托事件处理

.hover()是使用 mouseenter 和 mouseleave 的简写,但它只会将处理程序附加到执行时存在于 dom 中的那些元素

前任

$(document).on('mouseenter', '<selector>', function(){
    //do something
}).on('mouseleave', '<selector>', function(){
})
于 2013-08-19T05:03:29.303 回答
0

您可能已经在 $(document).ready(); 上添加了悬停动作。由于页面加载时新页面内容不存在,因此您必须在通过 ajax 更新新内容后重新绑定悬停动作。

于 2013-08-19T05:05:03.057 回答
0

由于新部分是动态添加的,因此 jquery hover 将无法使用它。

试试这个

$(document).on('mouseenter', 'selector', function(){
        // Code to perform on mouse enter
}).on('mouseleave', 'selector', function(){
       // code to perform on mouse leave (This is optional)
})
于 2013-08-19T05:06:59.893 回答