gpt4 book ai didi

Facebox 灯箱内的 Javascript

转载 作者:行者123 更新时间:2023-12-02 20:30:52 27 4
gpt4 key购买 nike

我正在开发一个 Rails 应用程序,其中使用 jQuery 和 Facebox Lightbox 作为弹出表单。我想在表单上使用一些 jQuery 验证。当我尝试实现这个时,我遇到了一些奇怪的结果。

如果我将 javascript 直接放入我在弹出窗口中加载的 View 中,javsacript 就可以正常工作。

示例:app/views/item/view.html.erb

...

<script type="text/javascript">
$(document).ready(function() {
...
});
</script>

但是,如果我将其抽象一步并将 JavaScript 放入我用于弹出窗口的布局中,则会失败。

示例:app/views/layouts/popup.html.erb

<script type="text/javascript">
$(document).ready(function() {
...
});
</script>

<div id="popup">
<%= yield %>
</div>

如果我将脚本从直接编码到 View 中的脚本提取到单独的 javascript 文件中,例如,如果我将相同的脚本放入 ../public/javascripts/popup.js

那么在我看来我会:

<%= javascript_include_tag 'popup' %>

这里失败了。

您可能会认为它位于哪个文件中没有任何区别。它应该以相同的方式加载。

知道为什么会发生这种情况吗?

最佳答案

我认为在你的 document.ready 代码中你正在做类似的事情

$(".supercool")..bind('click', function() {
somethingAwesome();
});

因此,这将附加到加载时存在的所有具有 supercool 类的类。你想做的就是使用直播

$('.supercool').live('click', function() {
// Live handler called.
});

这只是一个猜测——我认为这就是正在发生的事情——如果不是这样的话,需要查看更多的 javascript。

http://api.jquery.com/live/

关于Facebox 灯箱内的 Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4167678/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com