PluginProbe
BlockSpare – Gutenberg Blocks for News, Magazine, Blog & Business Websites / trunk
BlockSpare – Gutenberg Blocks for News, Magazine, Blog & Business Websites vtrunk
4.1.0 trunk 1.0.0 1.0.1 1.0.2 1.0.3 1.0.4 1.0.5 1.1.0 1.1.1 1.1.2 1.2.0 1.2.1 1.2.2 1.2.3 1.3.0 1.3.1 1.3.2 1.3.3 1.3.4 1.3.5 2.1.2 2.5.0 2.5.3 2.6.1 All 38 releases
blockspare / freemius / templates / js / jquery.content-change.php

jquery.content-change.php in BlockSpare – Gutenberg Blocks for News, Magazine, Blog & Business Websites 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>