实时查询停止工作
Posted
技术标签:
【中文标题】实时查询停止工作【英文标题】:livequery stopped working 【发布时间】:2011-06-17 16:36:50 【问题描述】:$j(".context-menu").livequery(function()
alert('found');
);
这一直有效,直到几天前。只是突然停了下来。在添加具有“上下文菜单”类的新元素时,没有任何反应。
虽然在萤火虫中,如果我运行上面的语句,它会被发现并引发警报。
知道可能是什么问题吗?
html:
<html>
<head>
<script type='text/javascript' src='/scripts/prototype.js'></script>
<script type='text/javascript' src='/scripts/jquery-1.4.2.js'></script>
<script type='text/javascript'>
var $j = jQuery.noConflict();
</script>
<script type='text/javascript' src='/scripts/jquery.livequery.js'></script>
</head>
<body>
<div class='fun'>fun</div>
</body>
【问题讨论】:
您不使用内置.live('event', handler_function)
方法的具体原因有哪些?
@ThiefMaster:我想要完成的是在渲染时将 css 设置为匹配元素。
把它放在你的问题中,而不是在评论中。
是的,已将其添加到问题中
看看我的回答 - 使用 jQuery 1.4.4,livequery 对我来说效果很好。我建议您在 jsfiddle 中尝试您的代码,看看究竟是什么 poerevts yoru 代码表单正在运行。也许其他一些 js 错误
【参考方案1】:
我创建了这个简单的 sn-p 来测试 livequery 是否适用于当前的 jQuery,并且它没有问题(这里是 jsfidde http://jsfiddle.net/x3tds/1/):
<a href="javascript:void(0)" onclick="adddiv('')">Click me</a>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
<script src="http://brandonaaron.net/javascripts/plugins/livequery.js"></script>
<script>
jQuery("div").livequery(function() alert("div added") )
function adddiv()
jQuery("a").append("<div>Hello</div>")
</script>
【讨论】:
是的。但这并不能解决我的问题。因为每当将新元素(匹配我的选择器)添加到 dom 时,我都需要回调。 谢谢 :) 它对我有用。唯一的区别是我使用的是 jquery-1.4.2。可能就是这样:) 谢谢。【参考方案2】:您是否更新了任何其他 Javascript 代码?您的 Javascript 的其余部分似乎有语法错误或某些东西,这意味着一切(包括这部分)都失败了。
在 Firebug 错误控制台处于活动状态的情况下运行您的网站,并通过检查您的设置(控制台选项卡中的箭头)确保它捕捉到 Javascript 错误和警告。
【讨论】:
你能告诉我错误是什么吗?由于页面加载良好,没有中断。 Firebug 也没有说什么 不,不是没有看到更多代码或能够自己调试您的网站。你能给我一个链接或你的整个 Javascript 代码吗? 为了让事情更容易,我没有运行任何 js 文件(除了 jquery)。页面加载后,我在 firebug 中运行提到的 js。然后我尝试 document.body.appendChild(el) 并没有调用 livequery。【参考方案3】:您最近升级到 jQuery 1.4.2 了吗?我不认为livequery
插件与jQuery 1.4+ 完全兼容
【讨论】:
以上是关于实时查询停止工作的主要内容,如果未能解决你的问题,请参考以下文章