div 刷新时的 Jquery 事件

标签 jquery wordpress events

现在,我使用 jQUery(document).ready 将 javascript“注入(inject)”到 div 中。

一切都很好 - 但问题是 - 同一个 div 正在通过 AJAX 刷新 - 并且在这种情况下 JS 没有被“重新注入(inject)”..

(如果有人感兴趣 - div 实际上是“wordpress“小部件管理”区域中的小部件)

我的问题是 jQuery(document).ready 显然不起作用(DOM 已经“准备好”),当我尝试 jQuery('#divname').ready - 我也无法让它工作。

我什至尝试了.ajaxComplete()但无济于事......

我不确定这是一般方法问题还是特定的 WP 小部件问题。

编辑我 - 为了满足大众的要求:我的脚本:-)

//php wrapper function here ...

// .. php stuff.

    return "

    <script type='text/javascript'>
var map;
var markersArray = []; // to be used later to clea overlay array
jQuery(document).ready(function() {
    var lat = ". $lattxt . " ; // .. php variable.
    var lon = ". $lontxt . " ; // .. php variable.
    var marker;
    // ...continue boring google map code 
    };
    map = new google.maps.Map(jQuery('#DivName')[0], myOptions);
   // ...tinue boring google map code 

    function placeMarker(location) {
       ///...continue boring google map code 
        }
    }

});</script>
    <div id='DivName' style='height:200px; width:100%;' ></div><br />
    ";

我实际上正在做的是创建一个 DIV 并启动谷歌地图。 问题是当这个“小部件”(或“div”)通过 AJAX 选项“保存”并刷新时 - Javascript 不起作用(它被注入(inject)到代码中 - 但不是“启动..”)

正如我之前所说 - 这个方法在“第一次”运行时工作得很好 - 但如果 div 被刷新 - 它就不再工作了,即使 div 在那里并且 javascript 也在那里......

编辑1:

我发现以下链接可能会或可能不会帮助任何遇到类似问题的人:

问题的简短解释以及可能的解决方案: http://www.johngadbois.com/adding-your-own-callbacks-to-wordpress-ajax-requests/

两个相关问题:

markItUp for Wordpress widget

jQuery Functions need to run again after ajax is complete

话虽如此 - 我还无法解决我的具体问题。如果我愿意,我会发布完整的答案。

最佳答案

我不确定您是否可以使用 WP 回调,但处理这些类型情况的纯 jQuery 方法是将事件处理委托(delegate)给最近的包含永远不会刷新的 HTML 元素.

曾经有“.delegate()”,但在最近的版本中您可以使用:

$('#nearest-stable-container').on("click", ".widget", function(){...});

因为处理程序附加到永远不会离开 DOM 的东西,所以这在对“.widget”的更改中仍然存在。

关于div 刷新时的 Jquery 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9740668/

相关文章:

javascript - 如何将 jQuery 事件处理程序附加到 YouTube 电影?

javascript - 为泳道中的每个节点添加 CSS 或样式(GOjs 库)

jquery - 将 JSON 发布到 Python CGI

java - 使用 Ajax 的单个提交按钮在 JSP 中提交两个 HTML 表单

javascript - Meteor template.find 未定义

php - 最佳 WordPress "contact us"插件?

php - 拾色器不保存值

php - Wordpress 在简码函数中使用 echo vs return

c# - 事件中的调度程序只会调用一次 C#

IFRAME 完成加载时的 Javascript 回调?