diff --git a/LICENSE b/LICENSE index bd01cdbb0..38ffc24ad 100755 --- a/LICENSE +++ b/LICENSE @@ -1,5 +1,5 @@ /* -* 4chan X - Version 1.2.44 - 2013-12-26 +* 4chan X - Version 1.2.44 - 2013-12-27 * * Licensed under the MIT license. * https://github.com/seaweedchan/4chan-x/blob/master/LICENSE diff --git a/builds/4chan-X.user.js b/builds/4chan-X.user.js index ec263c02b..01a734513 100644 --- a/builds/4chan-X.user.js +++ b/builds/4chan-X.user.js @@ -22,7 +22,7 @@ // ==/UserScript== /* -* 4chan X - Version 1.2.44 - 2013-12-26 +* 4chan X - Version 1.2.44 - 2013-12-27 * * Licensed under the MIT license. * https://github.com/seaweedchan/4chan-x/blob/master/LICENSE @@ -8287,21 +8287,25 @@ }, node: function() { if (this.isClone) { - return $.on($('.menu-button', this.nodes.info), 'click', Menu.toggle); + $.on($('.menu-button', this.nodes.info), 'click', Menu.toggle); + return; } return $.add(this.nodes.info, Menu.makeButton()); }, makeButton: (function() { var frag; - frag = $.nodes([ - $.tn(' '), $.el('a', { - className: 'menu-button', - innerHTML: '[]', - href: 'javascript:;' - }) - ]); + frag = null; return function() { var clone; + if (frag == null) { + frag = $.nodes([ + $.tn(' '), $.el('a', { + className: 'menu-button', + innerHTML: '[]', + href: 'javascript:;' + }) + ]); + } clone = frag.cloneNode(true); $.on(clone.lastElementChild, 'click', Menu.toggle); return clone; diff --git a/builds/crx/script.js b/builds/crx/script.js index da3ea5048..dac844bf7 100644 --- a/builds/crx/script.js +++ b/builds/crx/script.js @@ -1,6 +1,6 @@ // Generated by CoffeeScript /* -* 4chan X - Version 1.2.44 - 2013-12-26 +* 4chan X - Version 1.2.44 - 2013-12-27 * * Licensed under the MIT license. * https://github.com/seaweedchan/4chan-x/blob/master/LICENSE @@ -8285,21 +8285,25 @@ }, node: function() { if (this.isClone) { - return $.on($('.menu-button', this.nodes.info), 'click', Menu.toggle); + $.on($('.menu-button', this.nodes.info), 'click', Menu.toggle); + return; } return $.add(this.nodes.info, Menu.makeButton()); }, makeButton: (function() { var frag; - frag = $.nodes([ - $.tn(' '), $.el('a', { - className: 'menu-button', - innerHTML: '[]', - href: 'javascript:;' - }) - ]); + frag = null; return function() { var clone; + if (frag == null) { + frag = $.nodes([ + $.tn(' '), $.el('a', { + className: 'menu-button', + innerHTML: '[]', + href: 'javascript:;' + }) + ]); + } clone = frag.cloneNode(true); $.on(clone.lastElementChild, 'click', Menu.toggle); return clone; diff --git a/src/Menu/Menu.coffee b/src/Menu/Menu.coffee index 603252ae0..0cba5448f 100755 --- a/src/Menu/Menu.coffee +++ b/src/Menu/Menu.coffee @@ -8,18 +8,22 @@ Menu = cb: @node node: -> - return $.on $('.menu-button', @nodes.info), 'click', Menu.toggle if @isClone + if @isClone + $.on $('.menu-button', @nodes.info), 'click', Menu.toggle + return $.add @nodes.info, Menu.makeButton() makeButton: do -> - frag = $.nodes [ - $.tn(' ') - $.el 'a', - className: 'menu-button' - innerHTML: '[]' - href: 'javascript:;' - ] + frag = null -> + unless frag? + frag = $.nodes [ + $.tn(' ') + $.el 'a', + className: 'menu-button' + innerHTML: '[]' + href: 'javascript:;' + ] clone = frag.cloneNode true $.on clone.lastElementChild, 'click', Menu.toggle clone