PluginProbe
bBlocks – Essential Gutenberg Blocks & Patterns Collection / trunk
bBlocks – Essential Gutenberg Blocks & Patterns Collection vtrunk
2.1.7 2.1.6 2.1.5 2.1.4 2.1.3 2.1.2 2.1.1 2.1.0 2.0.43 2.0.42 2.0.41 2.0.40 2.0.39 2.0.38 trunk 1.0 1.1 1.2 1.3 1.4 1.5 1.5.1 1.5.2 1.5.3 1.5.4 All 107 releases
b-blocks / freemius / templates / js / jquery.content-change.php

jquery.content-change.php in bBlocks – Essential Gutenberg Blocks & Patterns Collection trunk, at freemius/templates/js/jquery.content-change.php

58 lines 1.5 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * @package Freemius
4 * @copyright Copyright (c) 2015, Freemius, Inc.
5 * @license https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License Version 3
6 * @since 1.2.2.7
7 */
8 if ( ! defined( 'ABSPATH' ) ) {
9 exit;
10 }
11 ?>
12 <script type="text/javascript">
13 (function ($) {
14 if ($.fn.contentChange)
15 return;
16
17 /**
18 * Content change event listener.
19 *
20 * @url http://stackoverflow.com/questions/3233991/jquery-watch-div/3234646#3234646
21 *
22 * @param {function} callback
23 *
24 * @returns {object[]}
25 */
26 $.fn.contentChange = function (callback) {
27 var elements = $(this);
28
29 elements.each(function () {
30 var element = $(this);
31
32 element.data("lastContents", element.html());
33
34 window.watchContentChange = window.watchContentChange ?
35 window.watchContentChange :
36 [];
37
38 window.watchContentChange.push({
39 "element" : element,
40 "callback": callback
41 });
42 });
43
44 return elements;
45 };
46
47 setInterval(function() {
48 if ( window.watchContentChange ) {
49 for ( var i in window.watchContentChange ) {
50 if ( window.watchContentChange[ i ].element.data( 'lastContents' ) !== window.watchContentChange[ i ].element.html() ) {
51 window.watchContentChange[ i ].callback.apply( undefined, [ false ] );
52 window.watchContentChange[ i ].element.data( 'lastContents', window.watchContentChange[ i ].element.html() )
53 }
54 }
55 }
56 }, 500 );
57 })(jQuery);
58 </script>