|
6 | 6 |
|
7 | 7 | var toggle = '[data-toggle="socialshare"]'; |
8 | 8 | var share_selector = '.socialshare'; |
9 | | - var fb_iframe = '.socialshare.open[data-type="small-bubbles"] .share-options div.fb-like iframe'; |
| 9 | + var fb_iframe = '.socialshare.open[data-type="small-bubbles"] #share-options div.fb-like iframe'; |
10 | 10 | var $share_container; |
11 | 11 | var packaged_html = '' + |
12 | 12 | '<div class="dropdown-toggle" data-toggle="socialshare">' + |
13 | | - ' <div class="share-link"><div>' + |
14 | | - ' <div class="heart"></div>' + |
15 | | - ' <p class="text">Share This</p>' + |
16 | | - ' <div class="caret"><div></div></div></div>' + |
17 | | - ' </div><div class="clear">' + |
18 | | - '</div>' + |
19 | | - '<div class="share-options">' + |
20 | | - ' <ul>' + |
21 | | - ' <li><div class="fb-like"></div></li>' + |
22 | | - ' <li><div class="g-plusone"></div></li>' + |
23 | | - ' <li><a href="https://twitter.com/share" class="twitter-share-button"></a></li>' + |
24 | | - ' </ul>' + |
25 | | - '</div>' + |
26 | | - '<div id="fb-root"></div>'; |
| 13 | + ' <a class="share-button" role="button" href="#share-options" aria-controls="share-options" aria-expanded="false"><span>Share This</span></a>' + |
| 14 | + ' <div id="share-options">' + |
| 15 | + ' <ul>' + |
| 16 | + ' <li><div class="fb-like"></div></li>' + |
| 17 | + ' <li><div class="g-plusone"></div></li>' + |
| 18 | + ' <li><a href="https://twitter.com/share" class="twitter-share-button"></a></li>' + |
| 19 | + ' </ul>' + |
| 20 | + ' </div>' + |
| 21 | + '</div>'; |
27 | 22 | var type; |
28 | 23 | var providers = { |
29 | 24 | facebook: { |
|
85 | 80 |
|
86 | 81 | var clear_menus = function() { |
87 | 82 | $(toggle).parent().removeClass('open'); |
| 83 | + $(toggle).find(".share-button").attr("aria-expanded","false"); |
88 | 84 | }; |
89 | 85 |
|
90 | 86 | var Dropdown = function(element) { |
|
104 | 100 |
|
105 | 101 | clear_menus(); |
106 | 102 | if (!isActive) { |
| 103 | + $(this).find(".share-button").attr("aria-expanded","true"); |
107 | 104 | $parent.toggleClass('open'); |
108 | 105 | } |
109 | 106 | $share_container = $(fb_iframe).css('width', |
|
115 | 112 | }, |
116 | 113 | load_sharing: function() { |
117 | 114 | if (!this.scripts_loaded) { |
| 115 | + $('body').append('<div id="fb-root" aria-hidden="true"></div>'); |
118 | 116 | for (var key in providers) { |
119 | 117 | this.load_script(providers[key].src, providers[key].id); |
120 | 118 | } |
|
177 | 175 | $share_container.find(providers[key].selector) |
178 | 176 | .attr(providers[key][$share_container.attr('data-type')]); |
179 | 177 | } |
180 | | - |
181 | | - $(document).keypress(function(e) { |
182 | | - if (e.which === 0 && $share_container.hasClass('open')) { |
183 | | - clear_menus(); |
| 178 | + $share_container.find(".share-button").keypress(function(e) { |
| 179 | + if (e.which === 32) { |
| 180 | + $(this).trigger("click"); |
| 181 | + e.preventDefault(); |
184 | 182 | } |
185 | 183 | }); |
| 184 | + $(document).keydown(function(e) { |
| 185 | + if (e.which === 27 && $(".socialshare").hasClass("open")) { |
| 186 | + $(".share-button").trigger("click"); |
| 187 | + } |
| 188 | + }); |
186 | 189 | }); |
187 | 190 | })(window.jQuery); |
0 commit comments