我试过了很多不同的可能性来实现我觉得应该是简单的代码执行。我通过从服务器加载DOM对象。其中一个加载项目是一个包含日期的输入文本框。我想在我点击输入框时加载jdpicker(一个插件日期选择器)。由于.live()
和.delegate()
的行为,即使分别使用.die()
或.undelegate()
,我也无法使弹出的日期选择器正常工作。它会弹出,允许我单击窗口中的一个对象,然后立即关闭(我无法浏览数月,没有关闭窗口的年份),或者弹出窗口,然后每次后续点击都会重新执行生成多个实例的代码日期选择器。点击事件后冒泡jQuery .delegate()或.live()
我试过.live()
,.delegate()
,.one()
的不同组合,但没有运气。我已经在主窗口中测试了日期选择器,并知道它在那里工作正常。我可以发布代码,但我不确定我做出的十个不同尝试中的哪一个会是最好的例子。我可以展示我最新的尝试。
有没有人有这样的合适的例子?谢谢!
更新
我编辑的代码如下:
$("#edit-entry").load("/edit/", { id:id }, function(){
$('.jdpicker').one('click', function(){
$(this).jdPicker();
});
});
这是成为完整的答案铰链。日期选择器不再调用多个实例,这很好,但我仍然无法导航它的控件(月,年选择)。如果我点击下个月,它会加载并关闭。下次我点击它时,它会在下个月重新打开。所以,它确实有效,但肯定不合意。有什么建议么?
现在你提到它很有趣,因为你的评论把我带回了我开始的地方。我是新手,所以一切都是我第一次。我采纳了您的建议,但仍然存在一个小问题...请参阅上面的我的编辑。谢谢! – ionalchemist 2010-08-05 03:45:18
太棒了,使用.each并不是我以前看过的东西。它表现得比以前好,但我仍然无法导航。我认为可能存在与我正在使用的插件有关的错误。当我选择一个类元素“jdpicker”时,弹出窗口打开,但下一次点击关闭它,无论点击发生在哪里。我可以点击导航箭头,只要它在可见窗口中,我可以点击一个新的日期,或者我可以点击主窗口....每秒钟一次点击关闭窗口,但只有当代码已被动态加载...? – ionalchemist 2010-08-05 13:17:01
尽管如此,非常感谢! – ionalchemist 2010-08-05 13:17:27