-1

我正在使用带有 socket.io、express、jade、jsdom、jquery 和 mongoose 的 nodejs,并且我有页面元素通过来自服务器的 socket.io 事件加载到客户端(它会抓取一些页面来获取各种东西)

一切正常,一切都很好地加载,但我需要运行时加载的元素(div、列表或表[我都试过了])与 jquery 一起使用,在做了一些研究后我发现 jQueries 。 live,已在 1.9 版中删除。所以我尝试了以下...

$('.vid_item').on('mouseover', function(event) {
    if (event.type == 'mouseover') {
        alert('Yay, mouse-over on the loaded element');
    } else {
        // do something on mouseout
    }
});

作为测试,我在翡翠布局中有一个 '.vid_item' div,与页面的其余部分一起加载,鼠标悬停事件在该元素上完美运行,但在服务器返回后加载的项目仍然不起作用使用它的数据并触发 socket.io 事件以将项目添加到页面。

我错过了什么吗?如果需要,可以提供项目中的其他代码!

提前干杯!

4

1 回答 1

0

像这样使用它:

 $(document.body).on('mouseover', '.vid_item', function(event) {

jQuery 集合接收事件,然后将其委托给与作为参数给出的选择器匹配的元素。这意味着与使用时相反,live执行代码时必须存在 jQuery 集合元素。您可以将 document.body 替换为执行绑定时存在的任何元素以及您的元素所在的'.vid_item'元素。

于 2013-06-30T18:36:35.557 回答