1(function($){ 2 $(function(){ 3 4 // 両系統ãµãã¼ãï¼æ¤ç´¢ãã¼ã¸/ãã³ãã¼ã¬ã¼ï¼ 5 var KEYWORD_SELECTORS = '.search-keyword, .side-search-keyword'; 6 var PRICE_SELECTORS = '.search-price, .side-search-price'; 7 var ORIGINAL_SELECTORS = '.original-code, .side-search-original-code'; 8 var BUTTON_SELECTORS = '.search-url, .side-search-btn'; 9 10 // ã¹ã³ã¼ããå âå¤ã«åºããªãããæå¯ãã® .search-url ãæ¢ãã¦ã¯ãªã㯠11 function clickNearestSearchButton($origin){ 12 var SCOPE_CANDIDATES = [ 13 '.search-inputwrap', // inputç¨ã®ã©ããã¼ãããå ´å 14 '.search_form', // ååæ¤ç´¢ãã¼ã¸ã®ãã©ã¼ã ããã㯠15 '.search-area', // ãã³ãã¼ã¬ã¼å ã®ULï¼â»ããã«ç¡ããã¨ãããï¼ 16 'section.search', // â ä»åã®ãã³ãã¼ã¬ã¼ã§ã¯ããã« .search-url ããã 17 '.search', 18 '#menu' 19 ]; 20 21 // 1) åè£ã¹ã³ã¼ããé ã«ãã©ã 22 for (var i = 0; i < SCOPE_CANDIDATES.length; i++) { 23 var sel = SCOPE_CANDIDATES[i]; 24 var $scope = $origin.closest(sel); 25 if ($scope.length) { 26 var $btns = $scope.find(BUTTON_SELECTORS); 27 if ($btns.length) { 28 // ã¹ã³ã¼ãå ã«è¤æ°ããå ´åã¯ãåã¹ã³ã¼ãå ã®ãã¼ã¯ã¼ãå ¥åã¤ã³ããã¯ã¹ã§å¯¾å¿ 29 var $keywordsInScope = $scope.find(KEYWORD_SELECTORS); 30 var idx = $keywordsInScope.index($origin); 31 if (idx >= 0 && idx < $btns.length) { 32 $btns[idx].click(); 33 } else { 34 $btns[0].click(); 35 } 36 return; // è¦ã¤ãã£ããçµäº 37 } 38 } 39 } 40 41 // 2) ããã§ãè¦ã¤ãããªããã°ãæçµãã©ã¼ã«ããã¯ï¼ããã¥ã¡ã³ãå ¨ä½ 42 var $fallback = $(document).find(BUTTON_SELECTORS); 43 if ($fallback.length) { 44 $fallback[0].click(); 45 } 46 } 47 48 // Enterã§çºç«ï¼IME夿ä¸ã¯ç¡è¦ï¼ 49 function onEnter(e){ 50 if (e.isComposing || e.keyCode === 229) return; // æ¥æ¬èªIMEå¤æä¸ 51 if (e.key === 'Enter' || e.keyCode === 13) { 52 e.preventDefault(); 53 clickNearestSearchButton($(e.currentTarget)); 54 } 55 } 56 57 // å§è²ãã¤ã³ãï¼åç表示ã®ãã³ãã¼ã¬ã¼ã«ãå¹ãï¼ 58 $(document).on('keydown', KEYWORD_SELECTORS + ', ' + PRICE_SELECTORS + ', ' + ORIGINAL_SELECTORS, onEnter); 59 60 // äºæï¼å¤ããã³ãã¬ã keypress åæã®ããï¼ä¸è¦ãªãå¤ãã¦OKï¼ 61 $(document).on('keypress', KEYWORD_SELECTORS + ', ' + PRICE_SELECTORS + ', ' + ORIGINAL_SELECTORS, function(e){ 62 if (e.keyCode === 13) { 63 e.preventDefault(); 64 clickNearestSearchButton($(this)); 65 } 66 }); 67 68 }); 69})(jQuery); 70
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.